git/list[1] front-page[2] threads[3] people[4] search[5] about
 

building git on Solaris

From
CHChris 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/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 

<hoogendyk@bio.umass.edu>

--------------- 

Erdös 4
Next: Ævar Arnfjörð Bjarmason
Message 1 of 6 in “building git on Solaris”
  1. Chris HoogendykSep 7, 2010
  2. Ævar Arnfjörð BjarmasonSep 7, 2010
  3. Chris HoogendykSep 8, 2010
  4. Ben WaltonSep 8, 2010
  5. Brandon CaseySep 8, 2010
  6. Tomas CarneckySep 10, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.