Re: [ROOT] Compiling root with gcc3.1 at MacosX10.2.2

From: Remi Mommsen (Remigius.Mommsen@cern.ch)
Date: Fri Nov 15 2002 - 18:58:08 MET


Hi Keisuke, Rene, and Roland,


On Friday, November 15, 2002, at 02:10  AM, Keisuke Fujii wrote:

> Hi Roland, Rene, and Remi,
>
> 3.03.09b compiled and ran out of the box on my MacOS X 10.2.2
> with gcc3.1 (non-Fink).
>
> Remi, can you tell me what kind of error did you get when you
> tried to compile ROOT without your Fink patch?
>

g++ -O -bundle -flat_namespace -undefined suppress -o lib/libHbook.so 
hbook/src/THbookBranch.o hbook/src/THbookFile.o hbook/src/THbookKey.o 
hbook/src/THbookTree.o hbook/src/G__Hbook.o -L/sw/lib -ldl 
hbook/src/hntvar2.o /cern/pro/lib/libpacklib.a 
/cern/pro/lib/libkernlib.a -lg2c
==> lib/libHbook.dylib done
g++ -O -Xlinker -bind_at_load -flat_namespace -o bin/root.exe 
main/src/rmain.o  \
	   -Llib -lCore -lCint -lHist -lGraf -lGraf3d -lTree -lMatrix -lRint 
-lm -ldl
ld: can't locate file for: -ldl
make: *** [bin/root.exe] Error 1

In case of the libraries the build/unix/makelib.sh provides the 
-L/sw/lib, but in case of the binaries, the library path to /sw/lib is 
missing. I don't really understand how the build/unix/makelib.sh plays 
together with config/Makefile.macosx. Does (or should?) the makelib.sh 
replace the definitions of EXTRA_*FLAGS in Makefile.macosx? I haven't 
found the place where these EXTRA_*FLAGS are used.

> The Fink lib path problem is supposed to be handled by
> build/unix/makelib.sh, so, if it did not work, we need to
> fix it: your patch will break 10.1.X support, since
> -L... cannot come earlier than flags such as -dynamiclib,
> etc. on 10.1.X.
>

You are right, I haven't thought about that. The quickest fix for me 
would be to move the $(EXTRA_LDFLAGS) to the end. But there might be a 
more clever way using the makelib.sh.

Thanks a lot and best regards

Remi

>
> On Thu, 14 Nov 2002, at 15:32:38 -0800
> Remi Mommsen <Remigius.Mommsen@cern.ch> wrote:
>
>>> Hi Roland & Rene,
>>>
>>> I just updated my ROOT to the cvs version of today (Nov. 14, 2002) 
>>> and
>>> successfully compiled it on my Mac OS X 10.2.2, which is still using
>>> gcc 3.1 (gcc -v: Apple Computer, Inc. GCC version 1161, based on gcc
>>> version 3.1 20020420 (prerelease)). I have not used the patches and
>>> instructions from
>>> http://www-jlc.kek.jp/~fujiik/macosx/10.2.X/memo/ROOTonX.html, but 
>>> I'm
>>> using the fink tools (http://fink.sourceforge.net/) for installing 
>>> *nix
>>> software.
>>>
>>> I haven't tested the new build extensively, but the basic things are
>>> working.
>>>
>>> However, I needed to make one change to the Makefile.macosx in order 
>>> to
>>> find the libdl.so from my fink installation. Here the cvs diff:
>>>
>>> Index: config/Makefile.macosx
>>> ===================================================================
>>> RCS file: /user/cvs/root/config/Makefile.macosx,v
>>> retrieving revision 1.11
>>> diff -r1.11 Makefile.macosx
>>> 39,40c39,40
>>> < LDFLAGS       = $(OPT) -Xlinker -bind_at_load -flat_namespace
>>> < SOFLAGS       = $(OPT) -dynamiclib -flat_namespace -undefined
>>> suppress \
>>> ---
>>>> LDFLAGS       = $(OPT) $(EXTRA_LDFLAGS) -Xlinker -bind_at_load
>>> -flat_namespace
>>>> SOFLAGS       = $(OPT) $(EXTRA_LDFLAGS) -dynamiclib -flat_namespace
>>> -undefined suppress \
>>>
>>>
>>> In addition, I needed to copy the *.so libraries by hand to the 
>>> install
>>> area, as the make install copies only the *.dylib. However, root 
>>> looks
>>> for the *.so files. Question to the experts: is there an easy way to
>>> have it done automatically?
>>>
>>>
>>> On Thursday, November 14, 2002, at 07:11  AM, Rene Brun wrote:
>>>
>>>> Hi Roland,
>>>>
>>>> I expect some reactions from Keisuke Fujii or George Irwin.
>>>> I understood a few weeks ago that the latest Root was compiling &
>>>> running
>>>> OK under macosx with gcc3.2.
>>>>
>>>> Rene Brun
>>>>
>>>> On Thu, 14 Nov 2002, Roland Bramm wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> due to the fact that the latest relkease of root (3.03.09) is not
>>>>> compilable with gcc3.1 at MacosX10.2.2 (see
>>>>> http://www-jlc.kek.jp/~fujiik/macosx/10.2.X/memo/ROOTonX.html) and
>>>>> the needed patch is not available there I checked out the newest
>>>>> version from CVS yesterday and today. ( The CVS version of 
>>>>> 2002/10/26
>>>>> is the first which is compiling ... )
>>>>>
>>>>> Both are hangnging in an infinite loop during the "makedependend"
>>>>> script execution.
>>>>> thew version of yesterday lopped (until i stopped it) over a big 
>>>>> part
>>>>> of root, and the version of today hat a tight loop in the tree 
>>>>> branch.
>>>>>
>>>
>>> What is your system setup? Developer tools version? Do you have by
>>> chance any virus scanner s/w active? Other people (including me) have
>>> seen wired behavior (system hangs and kernel panics) with active 
>>> virus
>>> scanners while building s/w.
>>>
>>>
>>>>> I tried to get the version from the 26.10th but go the message that
>>>>> this jtag is not set ... (whcih can also be my fault due to limited
>>>>> cvs knowledge...)
>>>>>
>>>>> What is going wrong during compilation ? or how I can get the 
>>>>> 26.10th
>>>>> version ?
>>>>>
>>>>>
>>>>> Regards Roland
>>>>>
>>>>
>>>>
>>>
>>> Cheers,
>>> 		Remi
>>>
>>>
>>> ---------------------------------------------------------------------
>>> "Sometimes I think the surest sign that intelligent life exists else-
>>> where in the universe is that none of it has tried to contact us."
>>>                                                Calvin (Bill 
>>> Watterson)
>>>
>>> *********************************************************************
>>> Remigius K. Mommsen                 e-mail: mommsen@slac.stanford.edu
>>> University of California, Irvine       URL:    http://cern.ch/mommsen
>>> c/o SLAC                             voice:        ++1 (650) 926-3595
>>> 2575 Sand Hill Road #35             mobile:        ++1 (650) 387-1402
>>> Menlo Park, CA 94025, US               fax:        ++1 (650) 926-8522
>>> *********************************************************************
>>>
>>>
>
>
>
>
>
>
>
>
>
>
>


---------------------------------------------------------------------
The Americans will always do the right thing...
after they've exhausted all the alternatives. (Winston Churchill)

*********************************************************************
Remigius K. Mommsen                 e-mail: mommsen@slac.stanford.edu
University of California, Irvine       URL:    http://cern.ch/mommsen
c/o SLAC                             voice:        ++1 (650) 926-3595
2575 Sand Hill Road #35             mobile:        ++1 (650) 387-1402
Menlo Park, CA 94025, US               fax:        ++1 (650) 926-8522
*********************************************************************



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