Re: Solaris 2.7 + gcc + root 2.23/09 revisited

From: Dave Morrison (dave@bnl.gov)
Date: Wed Dec 08 1999 - 23:14:15 MET


(I sent this answer to Michal in private email, but I meant to send it
here also.  Mistakes seem to come easy to me lately.)

> elif [ $PLATFORM = solaris ]; then
>    echo rm -f $OBJS
>    rm -f $OBJS
>    echo $LD $SOFLAGS $LDFLAGS -G -o $OBJS $EXTRA
>    $LD $SOFLAGS $LDFLAGS -G -o $OBJS $EXTRA

Hi Michal,

Er, that may be my doing.  In working to get ROOT to compile on Solaris
with the CC5.0 compiler, I ran into what I thought were problems between
Make-macros and Makelib.  I ascribed it to some argument mishandling
between the two, and tweaked Makelib to compensate.  Well ... the source
of the mismatch really came about because I'd added a flag to $(LD)
instead of $(LDFLAGS) and since some of the arguments in the rules of
Make-macros aren't quoted, the flag I need throws the argument counting
off by one between those two files for that particular case.  Mea culpa
- but the fix is very simple.  Here's a little patch for Makelib:

26,29c26,27
<    echo rm -f $OBJS
<    rm -f $OBJS
<    echo $LD $SOFLAGS $LDFLAGS -G -o $OBJS $EXTRA
<    $LD $SOFLAGS $LDFLAGS -G -o $OBJS $EXTRA
---
>    echo $LD $SOFLAGS $LDFLAGS -o $LIB $OBJS $EXTRA
>    $LD $SOFLAGS $LDFLAGS -o $LIB $OBJS $EXTRA

and likewise for Makefile.solarisCC5.0 (though this doesn't affect you)

18,19c18,19
< LD            = $(CXX) -library=iostream,no%Cstd
< LDFLAGS       = $(OPT) $(EXTRA_LDFLAGS)
---
> LD            = $(CXX) 
> LDFLAGS       = $(OPT) -library=iostream,no%Cstd $(EXTRA_LDFLAGS)

Enjoy,
Dave

-- 
David Morrison  Brookhaven National Laboratory  phone: 631-344-5840
                Physics Department, Bldg 510 C    fax: 631-344-3253
		          Upton, NY 11973-5000  email: dave@bnl.gov



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:44 MET