root@cs.flinders.oz.au (Operator) (08/22/90)
Well I finally had Andrew ready to go. Brought X11R4 up to patchlevel 14. Built all the Andrew Makefiles. make dependInstall barf .....: no such file or directory The build process is not creating subdirectories under DESTDIR. I am building Andrew from a clean slate so those of you who simply(?) updated from patchlevel 5 probably did not encounter this problem. For a time I just waited for the build to die, created whatever directory it complained about and then restarted the build however some things did not worry about the lack of a suitable directory so at one stage I had a file called $(DESTDIR)/bin which was not a directory but a sparc executable. Interesting concept that -- an executable directory. If there is a simple fix to this problem I would appreciate it. If not then could somebody mail me a list of subdirectories and I will create them by hand before I try building again. In this case assume that I am building everything (ODA,AMS,contrib,...). Thanks -Cameron Cameron Humphries Discipline of Computer Science email: cameron@cs.flinders.oz.au School of Information Science and Technology phone: +61 +8 201 2874 The Flinders University of South Australia fax : +61 +8 201 2904
ghoti+@ANDREW.CMU.EDU (Adam Stoller) (08/22/90)
Excerpts from internet.info-andrew: 22-Aug-90 Failing to create DESTDIR s.. Operator@cs.flinders.oz. (1235) > Well I finally had Andrew ready to go. > Brought X11R4 up to patchlevel 14. > Built all the Andrew Makefiles. > make dependInstall > barf > .....: no such file or directory > The build process is not creating subdirectories under DESTDIR. > I am building Andrew from a clean slate so those of you who simply(?) updated > from patchlevel 5 probably did not encounter this problem. Try using make World not make dependInstall The former takes care of making the destination directories. -- If you are not working from a "clean slate", you have the option of skipping the World and going straight to the dependInstall stage. Apparently (a) the README file is not clear about this, and/or (b) the top-level Imakefile was changed so that the directories only got created via World and should possibly be changed back. --fish
cameron@cs.flinders.oz.au (Cameron Humphries) (08/23/90)
}Excerpts from internet.info-andrew: 22-Aug-90 Failing to create DESTDIR }s.. Operator@cs.flinders.oz. (1235) } }> make dependInstall } }> barf }> .....: no such file or directory } } }Is there more to the error message than ".....: no such file or directory" ? [root]kurango [/ada/andrew] ==> make dependInstall Checking that BASEDIR is not the location of the source files. make DESTDIR=/sunsrc/andrew_dir install Checking Destination Directories.... Making directory dirs Checking Destination Directories.... install -c -m 0444 config/ImakeMacros.d /sunsrc/andrew_dir/doc/ImakeMacros.d install: /sunsrc/andrew_dir/doc/ImakeMacros.d: No such file or directory *** Error code 1 make: Fatal error: Command failed for target `install.time' Current working directory /ada/andrew *** Error code 1 make: Fatal error: Command failed for target `dependInstall' [root]kurango [/ada/andrew] ==> cd /sunsrc/ [root]kurango [/sunsrc] ==> ls ImageMagick/ andrew_dir/ flinders lost+found/ unify/ PostScript0 craig/ list sql_cache/ [root]kurango [/sunsrc] ==> cd andrew_dir/ [root]kurango [/sunsrc/andrew_dir] ==> ls Now I don't expect any comments about the partition names. They are just something you learn to live with. I am pushing for an andrew partition but I have to get it built and installed first. I handmade the doc subdirectory and tried dependInstall again. This time it installed Imakemacros.d but failed on the next one. install -c -m 0444 config/andyenv.h /sunsrc/andrew_dir/include/andyenv.h install: /sunsrc/andrew_dir/include/andyenv.h: No such file or directory *** Error code 1 }Perhaps the top-level destination directory does not exist ? (i.e. }DESTDIR = /foo/bar/baz, and /foo/bar does not exist) As you can see above /sunsrc/andrew_dir does indeed exist. Also permissions should not be causing a problem since I was building Andrew as "root". -Cameron Cameron Humphries Discipline of Computer Science email: cameron@cs.flinders.oz.au School of Information Science and Technology phone: +61 +8 201 2874 The Flinders University of South Australia fax : +61 +8 201 2904
ghoti+@ANDREW.CMU.EDU (Adam Stoller) (08/23/90)
Excerpts from internet.info-andrew: 23-Aug-90 Re: Failing to create DESTD.. Cameron Humphries@cs.fli (2156) > make DESTDIR=/sunsrc/andrew_dir install > Checking Destination Directories.... > Making directory dirs > Checking Destination Directories.... Something is definitely wrong here - if the directory /sunsrc/andrew_dir/ is empty - then not only should you see "Checking Destination Directories...", but you should also see messages like the following: "Making directory /sunsrc/andrew_dir/bin" "Making directory /sunsrc/andrew_dir/config" "Making directory /sunsrc/andrew_dir/etc" [...] ---------------- Your top-level Imakefile should have (around line 27) the following: DIRS = $(DESTDIR) \ $(DESTDIR)/bin \ $(DESTDIR)/config \ $(DESTDIR)/etc \ $(DESTDIR)/include \ $(DESTDIR)/lib \ $(DESTDIR)/doc \ $(DESTDIR)/doc/atk \ $(DESTDIR)/doc/ams \ $(DESTDIR)/help \ $(DESTDIR)/man \ $(DESTDIR)/dlib \ $(DESTDIR)/examples And (around line 63): MkdirTarget($(DIRS)) The latter should be expanded in your Makefile (around line 271 ?) to look like: install.time:: makedirs @echo -n '' install.doc:: makedirs @echo -n '' makedirs:: @echo "Checking Destination Directories...." @sh -c 'for i in $(DIRS); do \ if [ -f $$i ]; then \ echo MkdirTarget: $$i is a FILE; \ exit 1; \ elif [ ! -d $$i ]; then \ echo Making directory $$i; \ mkdir $$i; \ fi; \ done; \ exit 0' (there may be extra lines in the expansion consisting solely of '\' - depending on Imake's translation of the macro) If the first two do not check out - it sounds like you need a new top-level Imakefile. If the last one does not check out - it sounds like you need to remake the top-level Makefile. If they all check out - and /sunsrc/andrew_dir/ is indeed an empty, and writable directory - and you don't see the messages saying "Making directory [...]" then it sounds like there may be something wrong with your SHELL or filesystem, or something like that (i.e. I don't really have the foggiest...) As a sample - you might want to take an excerpt of the top level Imakefile and create one that says something like: ---------------- DA = /tmp/foo_a /tmp/foo_b /tmp/foo_c /tmp/foo_d DB = /tmp/bar_a \ /tmp/bar_b \ /tmp/bar_c MkdirTarget($(DA)) MkdirTarget($(DB)) ---------------- generate the Makefile for this against the Andrew config files (in the "normal" manner?) and then try running make on it -- It's about the only thing I can think of to try and really narrow down the problem. Hope this helps, at least a little.... --fish
cameron@cs.flinders.oz.au (Cameron Humphries) (08/24/90)
Well it finally works thanks to Gary Keim <gk5g+@andrew.cmu.edu>. Here is an extract from his message: Here is my advice: (1) rm -rf /sunsrc/andrew_dir/{*,.*}; (2) make Clean in the andrew top-level; (3) chown cameron /sunsrc/andrew_dir; (3) exit from root; (4) start the whole build process from scratch. I was building Andrew on an RS/6000 yesterday and this problem was happening to me. It turned out to be that the cpp didn't define the proper symbolic for that platform. Things break in wonderous ways beyond our comprehension. I have done this and it has succeeded so far (except the machine ran out of processes but this is a minor detail). -Cameron Cameron Humphries Discipline of Computer Science email: cameron@cs.flinders.oz.au School of Information Science and Technology phone: +61 +8 201 2874 The Flinders University of South Australia fax : +61 +8 201 2904