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

From: Mayly Sanchez (msanchez@minos.phy.tufts.edu)
Date: Wed Sep 25 2002 - 07:25:40 MEST


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



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