Re: [ROOT] Re: Compiling root on MacOS X 10.2 (jaguar)

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Wed Sep 25 2002 - 19:31:43 MEST


The change in cint/Module.mk is not correct for 2.x gcc. In principle
the system should detect that it has gcc 3 available and then replace
libstrm with gcc3strm.

Mayly could you investigate why the GCC_MAJOR is not 3 on macosx in
cint/Module.mk.

Cheers, Fons.



On Wed, 2002-09-25 at 17:09, Rene Brun wrote:
> Hi Maily,
> 
> Your proposed changes are now in CVS.
> If I understand your mail correctly, your changes should be OK
> for gcc2.9x and gcc3.x.
> 
> Rene Brun
> 
> On Wed, 25 Sep 2002, Mayly Sanchez wrote:
> 
> > 
> > Hi Rene,
> > thank you for applying my changes so quickly.  As for makelib.sh
> > yes, -install_name should be omitted when the -bundle flag is
> > used since this is not accepted by gcc3 although it was fine
> > with gcc2.  The other change in those lines (my mistake I didn't write  
> > it in that
> > email)  is that the  first $BUNDLE variable changes to $LIB, the reason  
> > being that
> > $LIB= library.dylib
> > $BUNDLE=library.so
> > the -bundle line is used to create a .so from .dylib, if you don't do  
> > this it will
> > fail with an error because the .so file is missing in the creation of a  
> > .so
> > 
> > The proposed change in the current CVS would be then:
> >     echo $LD $opt -bundle -flat_namespace -undefined suppress $LIB \
> > -o $BUNDLE -ldl $OBJS $EXTRA
> >     $LD $opt -bundle -flat_namespace -undefined suppress $LIB \
> >   -o $BUNDLE -ldl $OBJS $EXTRA
> > 
> > Mayly
> > 
> > On Wednesday, September 25, 2002, at 03:01  AM, Rene Brun wrote:
> > 
> > > Hi Mayly,
> > >
> > > I have applied your change (replace libstrm by gcc3strm) in  
> > > cint/Module.mk
> > >
> > > However, your proposed change in build/unix/makelib.sh clashes with
> > > the current version in CVS that contains nearly what you propose.
> > > In the current CVS, we have:
> > >
> > >    echo $LD $opt -bundle -flat_namespace -undefined suppress  
> > > -install_name
> > > $BUNDLE -o $BUNDLE -ldl $OBJS $EXTRA
> > >    $LD $opt -bundle -flat_namespace -undefined suppress -install_name
> > > $BUNDLE \
> > >       -o $BUNDLE -ldl $OBJS $EXTRA
> > >
> > > In your proposed cgange, the "-install_name" is omitted.
> > > Could you clarify this point?
> > >
> > > Rene Brun
> > >
> > > On Wed, 25 Sep 2002, Mayly Sanchez wrote:
> > >
> > >> Hi,
> > >> I just attempted to compile root on the new MacOS X version 10.2
> > >> (jaguar).
> > >> The new developer tools that come with it have gcc 3.1, so in order
> > >> to make it work I had to make a few changes, which I hope that
> > >> you will find the time to integrate them into the next release.
> > >>
> > >> First, I have obtained all the dependencies from fink:
> > >> http://fink.sourceforge.net
> > >> following the specific instructions for 10.2, they are:
> > >> g77, dlcompat, XFree86 and freetype.
> > >> Note that these are installed under /sw it would be nice that root  
> > >> would
> > >> look for these things in there. In the meantime I have made a link  
> > >> from
> > >> ln -s /sw/lib /usr/local/lib
> > >> ln -s /sw/include /usr/local/include
> > >>
> > >> I downloaded the cernlibs from
> > >> http://www-jlc.kek.jp/~fujiik/macosx/10.1.X/
> > >> Note I didn't compile them. The difference between g77-2.95 and  
> > >> g77-3.x
> > >> doesn't seem too big but you are better off compiling it following the
> > >> instructions
> > >> there and doing it yourself.  Set CERNDIR and CERNLIB as usual.
> > >>
> > >> Download ttf fonts and untar them in /usr/share/fonts.
> > >> Download the root source (this works with 3.03.09) and untar on the
> > >> desired
> > >> location. Set ROOTSYS, DYLD_LIBRARY_PATH, etc as usual.
> > >>
> > >> Now these are the changes needed to make it compile. I have  
> > >> substituted
> > >> the options for macosx 10.1.x but probably it needs to be added as
> > >> a separate option.
> > >> Edit file $ROOTSYS/cint/Module.mk and go down until you find
> > >> (ignore the < and > symbols):
> > >> < ifeq ($(PLATFORM),macosx)
> > >> < CINTS2       += $(MODDIRS)/libstrm.cxx
> > >> < endif
> > >> change it to:
> > >>> ifeq ($(PLATFORM),macosx)
> > >>> CINTS2       += $(MODDIRS)/gcc3strm.cxx
> > >>> endif
> > >>
> > >> Next, edit file $ROOTSYS/build/unix/makelib.sh and go to block with:
> > >> elif [ $PLATFORM = "macosx" ]; then
> > >> The following lines:
> > >> <   echo $LD $opt -bundle -flat_namespace -undefined suppress
> > >> -install_name $LIB \
> > >>   -o $BUNDLE -ldl $OBJS $EXTRA
> > >> <   $LD $opt -bundle -flat_namespace -undefined suppress -install_name
> > >> $LIB \
> > >>        -o $BUNDLE -ldl $OBJS $EXTRA
> > >> have to be modified to:
> > >>>   echo $LD $opt -bundle -flat_namespace -undefined suppress $BUNDLE \
> > >> -o $BUNDLE -ldl $OBJS $EXTRA
> > >>>   $LD $opt -bundle -flat_namespace -undefined suppress $BUNDLE \
> > >>     -o $BUNDLE -ldl $OBJS $EXTRA
> > >>
> > >> The reason for the change is best explained here:
> > >> http://fink.sourceforge.net/doc/porting/preparing.php#gcc3
> > >>
> > >> Well that's it, ./configure macosx. I haven't tested it throughly but
> > >> the demos,
> > >> the tests and my old macros seem to work.
> > >>
> > >> If you have any questions or comments please write directly to me  
> > >> since
> > >> I'm not subscribed to the list. I'm placing the binary here:
> > >> http://mixcoatl.phy.tufts.edu/msanchez/root/ 
> > >> root_v3.03.09_jaguar.tar.gz
> > >>
> > >> Mayly
> > >>
> > 
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:11 MET