From: Chris Hoogendyk Date: Tue, 07 Sep 2010 21:02:35 GMT Subject: building git on Solaris Message-ID: <4C86A86B.1030107@bio.umass.edu> Building git 1.7.1 on Solaris 9 using gcc and gnu tools. My build environment includes: CC=gcc CFLAGS='-L/usr/local/lib -R/usr/local/lib' CPPFLAGS=-I/usr/local/include LDFLAGS='-L/usr/local/lib -R/usr/local/lib' LD_INCLUDE_PATH=/usr/include:/usr/local/include LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/sfw/lib PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/ucb:/usr/ccs/bin PWD=/usr/local/src/git/git-1.7.1 SHELL=/bin/ksh If I ask `which make`, I get /usr/local/bin/make. If I say, `make --version`, I get "GNU Make 3.80". If I ask `which perl`, I get /usr/local/bin/perl. If I say, `perl --version`, I get "This is perl, v5.8.6 built for sun4-solaris-thread-multi". I'm building with # make configure # ./configure --prefix=/usr/local # make all doc # make install install-doc install-html It seems to work fine (though way sparse in what it has to say), until it hits here (from the `make all doc`): : : GEN git-submodule GEN git-web--browse SUBDIR perl make: Warning: Ignoring DistributedMake -o option Usage : make [ -f makefile ][ -K statefile ]... [ -d ][ -dd ][ -D ][ -DD ] [ -e ][ -i ][ -k ][ -n ][ -p ][ -P ][ -q ][ -r ][ -s ][ -S ][ -t ] [ -u ][ -w ][ -V ][ target... ][ macro=value... ][ "macro +=value"... ] make: Fatal error: Unknown option `-C' make: *** [perl/perl.mak] Error 1 I couldn't figure out where that was coming from (Can I turn on a bit more verbosity during the build?) until I tried to do a `make clean` and got a little more detail, where it ended up with `make -C Documentation/ clean` followed by the same set of errors. When I simply enter `make -C Documentation/ clean` from the command line, it works. Poking around, I eventually found that /usr/ccs/bin/make will emit those errors, whereas /usr/local/bin/make does not. However, /usr/ccs/bin/make should never be called. That is last in my PATH, whereas /usr/local/bin/make is first in my PATH. So, something fishy is going on with the environment. But, those path precedences are everywhere in my system. If I `su - nobody`, for example, I get /usr/local/bin first in the PATH. I also did a `find . -type f | xargs grep ccs` from within /usr/local/src/git/git-1.7.1, and the only things I found were in the config.log where it was noting /usr/ccs/bin/ar, /usr/ccs/bin/as and /usr/ccs/bin/ld, which, I believe, are correct. Does anyone have any guidance or clues as to where I should look from here? Or how to fix this? TIA --------------------- NOTE: I also had to do the following: # diff configure configure.orig 7810c7810 < for opt in -pthreads -lpthreads; do --- > for opt in -pthread -lpthread; do # to get rid of errors like this: : : CC xdiff/xpatience.o AR xdiff/lib.a LINK git-fast-import gcc: unrecognized option `-pthread' CC imap-send.o LINK git-imap-send gcc: unrecognized option `-pthread' CC shell.o LINK git-shell gcc: unrecognized option `-pthread' CC show-index.o LINK git-show-index gcc: unrecognized option `-pthread' : : --------------------- -- --------------- Chris Hoogendyk - O__ ---- Systems Administrator c/ /'_ --- Biology & Geology Departments (*) \(*) -- 140 Morrill Science Center ~~~~~~~~~~ - University of Massachusetts, Amherst --------------- Erdös 4