Thread: [Autogen-users] make install problem w/ 5.11.4
Brought to you by:
bkorb
From: Geof S. <Geo...@ut...> - 2010-12-10 01:17:02
|
Hi Bruce and everyone, I'm having an error with make install for this version on a particular machine. One line of my output stands out in particular: "fserr 13: cannot fopen for write stamp-man-4lRijc: Permission denied" Anyone have a guess? Thanks, as always -- Geof *****full output****** karma:~/temp/autogen/autogen-5.11.4> sudo make install Making install in compat make[1]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/compat' make[2]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/compat' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/compat' make[1]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/compat' Making install in snprintfv make[1]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/snprintfv' make[2]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/snprintfv' make[2]: Nothing to be done for `install-exec-am'. make[2]: Nothing to be done for `install-data-am'. make[2]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/snprintfv' make[1]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/snprintfv' Making install in autoopts make[1]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' Making install in test make[2]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/test' make[3]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/test' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/test' make[2]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/test' make[2]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' make[3]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin" /usr/bin/install -c autoopts-config '/usr/local/bin' test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib" /bin/sh ../libtool --mode=install /usr/bin/install -c libopts.la '/usr/local/lib' libtool: install: /usr/bin/install -c .libs/libopts.so.25.8.4 /usr/local/lib/libopts.so.25.8.4 libtool: install: (cd /usr/local/lib && { ln -s -f libopts.so.25.8.4 libopts.so.25 || { rm -f libopts.so.25 && ln -s libopts.so.25.8.4 libopts.so.25; }; }) libtool: install: (cd /usr/local/lib && { ln -s -f libopts.so.25.8.4 libopts.so || { rm -f libopts.so && ln -s libopts.so.25.8.4 libopts.so; }; }) libtool: install: /usr/bin/install -c .libs/libopts.lai /usr/local/lib/libopts.la libtool: install: /usr/bin/install -c .libs/libopts.a /usr/local/lib/libopts.a libtool: install: chmod 644 /usr/local/lib/libopts.a libtool: install: ranlib /usr/local/lib/libopts.a libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin:/sbin" ldconfig -n /usr/local/lib ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- test -z "/usr/local/share/man/man3" || /bin/mkdir -p "/usr/local/share/man/man3" /usr/bin/install -c -m 644 ao_string_tokenize.3 configFileLoad.3 optionFileLoad.3 optionFindNextValue.3 optionFindValue.3 optionFree.3 optionGetValue.3 optionLoadLine.3 optionNextValue.3 optionOnlyUsage.3 optionProcess.3 optionRestore.3 optionSaveFile.3 optionSaveState.3 optionUnloadNested.3 optionVersion.3 strequate.3 streqvcmp.3 streqvmap.3 strneqvcmp.3 strtransform.3 '/usr/local/share/man/man3' test -z "/usr/local/share/aclocal" || /bin/mkdir -p "/usr/local/share/aclocal" /usr/bin/install -c -m 644 autoopts.m4 '/usr/local/share/aclocal' test -z "/usr/local/share/man/man1" || /bin/mkdir -p "/usr/local/share/man/man1" /usr/bin/install -c -m 644 autoopts-config.1 '/usr/local/share/man/man1' test -z "/usr/local/share" || /bin/mkdir -p "/usr/local/share" /bin/mkdir -p '/usr/local/share/pkgconfig' /usr/bin/install -c -m 644 pkgconfig/autoopts.pc '/usr/local/share/pkgconfig' test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include" /bin/mkdir -p '/usr/local/include/autoopts' /usr/bin/install -c -m 644 autoopts/options.h autoopts/usage-txt.h '/usr/local/include/autoopts' test -z "/usr/local/share/autogen" || /bin/mkdir -p "/usr/local/share/autogen" /usr/bin/install -c -m 644 libopts-33.4.8.tar.gz tpl/aginfo.tpl tpl/aginfo3.tpl tpl/agman1.tpl tpl/agman3.tpl tpl/opthead.tpl tpl/options.tpl tpl/optlib.tpl '/usr/local/share/autogen' test -z "/usr/local/share/autogen" || /bin/mkdir -p "/usr/local/share/autogen" /usr/bin/install -c -m 644 autoopts.m4 tpl/aginfodoc.tpl tpl/agman-lib.tpl tpl/agman-mdoc-cmd.tpl tpl/agman5.tpl tpl/agman8.tpl tpl/agmdoc5.tpl tpl/agmdoc8.tpl tpl/aoconf.tpl tpl/bits.tpl tpl/getopt.tpl tpl/man2mdoc.pl tpl/mdoc2man.pl tpl/mdoc2texi.pl tpl/optcode.tpl tpl/optmain.tpl tpl/rc-sample.tpl tpl/stdoptions.def tpl/texi2mdoc.pl tpl/usage-txt.tpl tpl/usage.tpl '/usr/local/share/autogen' make install-data-hook make[4]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' make[4]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' make[3]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' make[2]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' make[1]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/autoopts' Making install in agen5 make[1]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5' Making install in test make[2]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5/test' make[3]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5/test' make[3]: Nothing to be done for `install-exec-am'. make[3]: Nothing to be done for `install-data-am'. make[3]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5/test' make[2]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5/test' make[2]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5' Re-building stamp-man /home/sawaya/temp/autogen/autogen-5.11.4/agen5/autogen -L/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/tpl -L/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/tpl -MFstamp-man -Tagman1 -bautogen ./opts.def fserr 13: cannot fopen for write stamp-man-4lRijc: Permission denied bootstrap failure: FAILED: /home/sawaya/temp/autogen/autogen-5.11.4/agen5/autogen -Tagman1 -bautogen ./opts.def make[2]: *** [stamp-man] Killed make[2]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5' make: *** [install-recursive] Error 1 |
From: Bruce K. <bru...@gm...> - 2010-12-10 01:48:27
|
On 12/09/10 17:14, Geof Sawaya wrote: > Hi Bruce and everyone, > > I'm having an error with make install for this version on a particular machine. > > One line of my output stands out in particular: "fserr 13: cannot fopen for write stamp-man-4lRijc: Permission denied" > > Anyone have a guess? I suspect a permission issue in the /home/sawaya/temp/autogen/autogen-5.11.4/agen5 directory. It looks like you are in the install phase, meaning that the man pages ought to have been built by this time. > make[3]: Nothing to be done for `install-data-am'. > make[3]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5/test' > make[2]: Leaving directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5/test' > make[2]: Entering directory `/home/sawaya/temp/autogen/autogen-5.11.4/agen5' > Re-building stamp-man > /home/sawaya/temp/autogen/autogen-5.11.4/agen5/autogen -L/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/tpl -L/home/sawaya/temp/autogen/autogen-5.11.4/autoopts/tpl -MFstamp-man -Tagman1 -bautogen ./opts.def > fserr 13: cannot fopen for write stamp-man-4lRijc: Permission denied > bootstrap failure: FAILED: /home/sawaya/temp/autogen/autogen-5.11.4/agen5/autogen -Tagman1 -bautogen ./opts.def > make[2]: *** [stamp-man] Killed "stamp-man" is now a useful file and should contain something like this: # Makefile dependency file created by autogen # with the following command: # /old-home/bkorb/ag/ag/agen5/.libs/autogen # -L/old-home/bkorb/ag/ag/autoopts/tpl # -L/old-home/bkorb/ag/ag/autoopts/tpl # -MFstamp-man # -Tagman1 # -bautogen # ./opts.def AUTOGEN_stamp_man_TList = \ autogen.1 AUTOGEN_stamp_man_SList = \ ./opts.def \ /old-home/bkorb/ag/ag/autoopts/tpl/agman1.tpl \ /old-home/bkorb/ag/ag/autoopts/tpl/agman-lib.tpl stamp-man : $(AUTOGEN_stamp_man_SList) $(AUTOGEN_stamp_man_TList) : stamp-man @: The "-4lRijc" suffix is there only until the command completes correctly. At that point, it is renamed to stamp-man. Two suggestions: 1. make sure "make" finishes before kicking off "make install" 2. when you are building stuff, make sure ${top_builddir}/agen5 is a writable directory. If that is not the issue, then more analysis would be needed. |
From: Bruce K. <bru...@gm...> - 2010-12-10 03:03:37
|
On 12/09/10 18:46, Geof Sawaya wrote: >> The "-4lRijc" suffix is there only until the command completes correctly. >> At that point, it is renamed to stamp-man. > > Immediately after make, there is a stamp-man file in agen5, and stamp-man > looks ljust like you described. (also with perms 600). Yeah, it starts life as a temp file with limited access permissions. Now that you've stubbed your toe, it is clear I should add go+r permissions to it. Thanks. >> Two suggestions: > >> 1. make sure "make" finishes before kicking off "make install" >> 2. when you are building stuff, make sure ${top_builddir}/agen5 >> is a writable directory. > > Alas, neither of these is the case. > >> If that is not the issue, then more analysis would be needed. > > Well, why does it need to rebuild stamp-man anyway (at the make > install phase)? Also, there is no file with the suffix you > mentioned above after 'make'. I am running make install: > 'sudo make install', which would explain write issues with stamp-man . . . > > ? > > Let me know what to check and / or info to give you. It should not need to rebuild stamp-man. "Makefile" should be including that file and that file should correctly set the dependencies so it is not rebuilt. Another common dependency question though: are all your clocks in sync? NFS causes lotsa funny stuff when clocks are awry. Come to think of it, you have to be using NFS because root can do whatever it wants on local directories. |
From: Bruce K. <bru...@gm...> - 2010-12-10 03:25:59
|
On 12/09/10 18:46, Geof Sawaya wrote: > Well, why does it need to rebuild stamp-man anyway > (at the make install phase)? Also, there is no file > with the suffix you mentioned above after 'make'. > I am running make install: 'sudo make install', which > would explain write issues with stamp-man . . . > > ? In adding group/other read permissions I stumbled into it: Because there is no clear way of saying "autogen.1 does not depend upon the executable, but you have to create the executable in order to re-create autogen.1", there is a phony dependency of autogen.1 on autogen (the executable). I am open to suggestions on a reasonable fix, but I don't think "make" has the appropriate expressiveness. Meanwhile, two solutions: 1. configure && make && make && sudo make install 2. configure && make && make install DESTDIR=$HOME/stage cd $HOME/stage sudo cp -fr $f /. the latter is "more correct", but more bother, too. |
From: Bruce K. <bru...@gm...> - 2010-12-10 03:55:20
|
On 12/09/10 19:25, Bruce Korb wrote: >> ? I now agree with that sentiment. > $ egrep -v '^#' stamp-man > AUTOGEN_stamp_man_TList = \ > autogen.1 > > AUTOGEN_stamp_man_SList = \ > ./opts.def \ > ../autoopts/tpl/agman1.tpl \ > ../autoopts/tpl/agman-lib.tpl > > stamp-man : $(AUTOGEN_stamp_man_SList) > > $(AUTOGEN_stamp_man_TList) : stamp-man > @: > $ ls --full-time -tgor autogen.1 opts.def ../autoopts/tpl/agman1.tpl ../autoopts/tpl/agman-lib.tpl stamp-man autogen > -rw-r--r-- 2 2452 2010-12-09 16:13:33.000000000 -0800 ../autoopts/tpl/agman-lib.tpl > -rw-r--r-- 1 28403 2010-12-09 19:39:42.000000000 -0800 opts.def > -rw-r--r-- 1 16250 2010-12-09 19:40:34.000000000 -0800 ../autoopts/tpl/agman1.tpl > -rwxr-xr-x 1 4154 2010-12-09 19:40:40.000000000 -0800 autogen > -rw-r--r-- 1 528 2010-12-09 19:43:27.000000000 -0800 stamp-man > -r--r--r-- 1 19141 2010-12-09 19:43:28.000000000 -0800 autogen.1 > $ make stamp-man > Re-building stamp-man > /old-home/bkorb/ag/ag/agen5/autogen -L/old-home/bkorb/ag/ag/autoopts/tpl -L/old-home/bkorb/ag/ag/autoopts/tpl -MFstamp-man -Tagman1 -bautogen ./opts.def > /old-home/bkorb/ag/ag/agen5/autogen -L/old-home/bkorb/ag/ag/autoopts/tpl -L/old-home/bkorb/ag/ag/autoopts/tpl -MFstamp-fmem fmemopen.def > $ ls --full-time -tgor autogen.1 opts.def ../autoopts/tpl/agman1.tpl ../autoopts/tpl/agman-lib.tpl stamp-man autogen > -rw-r--r-- 2 2452 2010-12-09 16:13:33.000000000 -0800 ../autoopts/tpl/agman-lib.tpl > -rw-r--r-- 1 28403 2010-12-09 19:39:42.000000000 -0800 opts.def > -rw-r--r-- 1 16250 2010-12-09 19:40:34.000000000 -0800 ../autoopts/tpl/agman1.tpl > -rwxr-xr-x 1 4154 2010-12-09 19:40:40.000000000 -0800 autogen > -rw-r--r-- 1 528 2010-12-09 19:44:41.000000000 -0800 stamp-man > -r--r--r-- 1 19141 2010-12-09 19:44:42.000000000 -0800 autogen.1 > $ make stamp-man > make: `stamp-man' is up to date. I have no idea why it fired. "autogen.1" depends upon "stamp-man" explicitly in Makefile.am. I have carefully ensured that the sentinel file's time lies between autogen.1 and the source files. I believe that with enough debug info and patience wading through it, you can get make to tell you. |