Re: minor makefile issues
From: David Kastrup <hidden>
Date: 2016-06-15 22:43:25
Joe Eykholt [off-list ref] writes:
Hi All,
Due to my unusual environment, I ran into two issues when installing
git 1.5.2.4 from source.
Although these are unusual, they might not be unique and the fixes are easy:
1. The make install failed because of line 49 in templates/Makefile:
(cd blt && $(TAR) cf - .) | \
(cd '$(DESTDIR_SQ)$(template_dir_SQ)' && $(TAR) xf -)
because I have CDPATH set, the 'cd blt' actually outputs the new
directory on stdout
which confuses the second tar. Changing this to 'cd ./blt' fixes
it. Perhaps this could
be considered a bash bug.No, it is a user bug. You don't want a script to _ever_ walk around on its own volition, so you must _not_ export CDPATH. Instead, set it in .bashrc without exporting it. That way, it will be available with every interactive shell, and not interfering with scripts.
2. My home directory containing my build tree is NFS-mounted, and root doesn't have any permission to write it. So, when doing 'make prefix=/usr/local install-doc' as root, I got these errors: # make prefix=/usr/local install-doc make -C Documentation install make[1]: Entering directory /net/da01/home/jre/build/git-1.5.2.4/Documentation' rm -f doc.dep+ doc.dep rm: cannot remove `doc.dep': Permission denied make[1]: *** [doc.dep] Error 1 make[1]: Leaving directory /net/da01/home/jre/build/git-1.5.2.4/Documentation' make: *** [install-doc] Error 2 I'm not sure what the best fix is for the second problem. rm -f ignores non-existent files but not permission errors. I guess you could do 'rm -f doc.dep || true'.
First do "make doc" for your normal user, then make doc-install as root. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum