building git on Solaris
- From
- Chris Hoogendyk <hoogendyk@bio.umass.edu>
- Date
- Sep 7, 2010, 21:02 UTC
- 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/kshIf 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-htmlIt 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 1I 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 <hoogendyk@bio.umass.edu> --------------- Erdös 4