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

From: Mayly Sanchez (msanchez@minos.phy.tufts.edu)
Date: Thu Sep 26 2002 - 17:54:38 MEST


Fons,
I just checked. GCC_MAJOR is properly set if and only if you define the 
compilers
in the Makefile as gcc, g++ etc..

So a better solution for A (which is close to C and doesn't introduce 
new problems)
is the following:
-keep the changes in build/unix/makelib.sh
-change cint/Modules.mk back to what it was
-change in Makefile.macosx :
CXX           = g++
CC            = gcc
LD            = g++
-make a note in Makefile.macosx that if you want to compile for
10.1 you just have to change those 3 variables to what they were:
CXX           = c++
CC            = cc
LD            = c++

Mayly

On Thursday, September 26, 2002, at 03:35  AM, Fons Rademakers wrote:

> I agree with A, I am only amazed that the gcc3strm was not 
> automatically
> choosen, like is the case for linux. I.e. GCC_MAJOR is not correctly
> set, I would like to know its value (look in cint/Module.mk, if
> GCC_MAJOR is set it will replace libstrm by gcc3strm). Having GCC_MAJOR
> not correctly while using gcc 3 can cause later some other side 
> effects.
> Please, Mayly check what GCC_MAJOR is on macosx.
>
> -- Fons
>
>
>
> On Thu, 2002-09-26 at 08:22, Rene Brun wrote:
>>
>>
>> ---------- Forwarded message ----------
>> Date: Wed, 25 Sep 2002 17:42:09 -0400 (EDT)
>> From: Eddy Offermann <eddy@rentec.com>
>> To: Rene.Brun@cern.ch
>> Subject: Re: [ROOT] Re: Compiling root on MacOS X 10.2 (jaguar)
>>
>> A !!
>>
>>> X-Authentication-Warning: pcroot.cern.ch: majordomo set sender to
>> owner-roottalk@root.cern.ch using -f
>>> Date: Wed, 25 Sep 2002 22:39:50 +0200 (METDST)
>>> From: Rene Brun <Rene.Brun@cern.ch>
>>> To: Fons Rademakers <Fons.Rademakers@cern.ch>
>>> cc: Rene Brun <Rene.Brun@cern.ch>, Mayly Sanchez
>> <msanchez@minos.phy.tufts.edu>, roottalk@pcroot.cern.ch
>>> Subject: Re: [ROOT] Re: Compiling root on MacOS X 10.2 (jaguar)
>>> MIME-Version: 1.0
>>>
>>> This is a call for comments to the macosx community.
>>>
>>> Can we assume that all macosx users will convert to 10.2?
>>> Who wants support for 10.1? for how long?
>>> We have 3 options:
>>>   A- move to 10.2 only with the changes now in CVS by Mayly Sanchez
>>>   B- ignore 10.2 and revert to the Makefile version of yesterday
>>>   C- support two macosx versions
>>>
>>> Please indicate your preferences. In the absence of reactions we will
>>> choose solution A.
>>>
>>> Rene Brun
>>>
>>>
>>> On 25 Sep 2002, Fons Rademakers wrote:
>>>
>>>> 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
>>>>
>>>
>>
>> Eddy A.J.M. Offermann
>> Renaissance Technologies Corp.
>> Route 25A, East Setauket NY 11733
>> e-mail: eddy@rentec.com
>> http://www.rentec.com
> -- 
> 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