Re: [ROOT] MacOS 10.3 linking problem root/pythia or aliroot

From: Remi Mommsen (remigius.mommsen@cern.ch)
Date: Tue Jan 06 2004 - 19:26:57 MET


Hi Constantin,

I'm using root 3.10/02 from fink (root3-cernlib) om Mac OS X 10.3.2:

 > root
   *******************************************
   *                                         *
   *        W E L C O M E  to  R O O T       *
   *                                         *
   *   Version   3.10/02  17 December 2003   *
   *                                         *
   *  You are welcome to visit our Web site  *
   *          http://root.cern.ch            *
   *                                         *
   *******************************************

FreeType Engine v2.1.3 used to render TrueType fonts.
Compiled for macosx with thread support.

CINT/ROOT C/C++ Interpreter version 5.15.115, Dec 9 2003
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
...using style 'Plain'

root [0] gSystem->Load("libPythia6.so");
root [1] gSystem->Load("libEG.so");
root [2] gSystem->Load("libEGPythia6.so");
root [3]

HTH,
	Remi

On Jan 6, 2004, at 1:17 AM, Constantin Loizides wrote:

> Hi Remi,
>> You could try to compile the fortran stuff with -single_module.
>
> thats what I did. I followed the porting instructions on
> fink.sourceforge.net.
>
>
>> BTW: are you aware that you can install root3 with cernlib support 
>> from fink (http://fink.sourceforge.net)?
> Yes, I know, but do you think that it would work then?
> I mean, its not a problem of compiling it, its a problem
> of linking. If you have root from fink, could you please
> try it? Just do the sequence
>
>  gSystem->Load("libPythia6.so");
>  gSystem->Load("libEG.so");
>  gSystem->Load("libEGPythia6.so");
>
> Thanks,
> best regards,
> Constantin
>
>> HTH,
>>     Remi
>> On Jan 5, 2004, at 10:38 AM, Constantin Loizides wrote:
>>> Hi, sorry to bother again,
>>> but this time I really think its
>>> a problem:
>>>
>>> When trying to use pythia with Root and external
>>> compile libpythia6 or with Aliroot I run
>>> into the "multiple definitions of symbols"
>>> problem (see down), known for the dyld on mac.
>>> The definition of HEPEVT in pythia6x.f and
>>> libEG.so (Hepevt.h) simply clash and
>>> the linker does not simply take
>>> the first defintion and disregards the
>>> second (as e.g. ld on linux does).
>>>
>>> I tried to solve it by explicitely
>>> makeing hepevt external in Hepevt.h
>>> but then loading libEG.so fails
>>> with very strange missing symbols
>>> which are in libPythia6.so (which
>>> is loaded first).
>>>
>>> Any ideas? I have been browsing
>>> the web, it seems that one has
>>> to work around it by suitably
>>> using "external" but maybe someone
>>> knows of a superior approach?
>>> Maybe not using flat namespaces?
>>>
>>> Regards, Constantin
>>>
>>>
>>> ALIROOT head (with config option to use pythia)
>>> ---------------
>>> root [0] gAlice->Init("ConfigPPR.C");
>>>      ****************************************************************
>>>      *                                                              *
>>>      *    You are running AliRoot version NewIO
>>>      *    The cvs tag for the current program is $Name:  $
>>>      *                                                              *
>>>      ****************************************************************
>>> Seed for random number generation= 12345
>>> dlopen error: dlcompat: dyld: aliroot multiple definitions of symbol 
>>> _hepevt_
>>> /prog/root/ali-head/lib/libEG.dylib(TGenerator.o) definition of 
>>> _hepevt_
>>> /prog/aliroot/ali-head/lib/tgt_Darwin/libpythia6.dylib(single 
>>> module) definition of _hepevt_
>>>
>>>
>>> ROOT 10.02 and pythia6.221
>>> ---------------
>>> gSystem->Load("$PYTHIA6LIB/libPythia6.so"); // Pythia6 library
>>> root [1]    gSystem->Load("libEG.so");
>>> root [2]    gSystem->Load("libEGPythia6.so");
>>> dlopen error: dlcompat: dyld: /prog/root/ali-head/bin/root.exe 
>>> multiple definitions of symbol _hepevt_
>>> /prog/root/ali-head/lib/libEG.so definition of _hepevt_
>>> /prog/pythia6/libPythia6221.dylib(single module) definition of 
>>> _hepevt_
>>>
>>> Load Error: Failed to load Dynamic link library 
>>> /prog/root/ali-head/lib/libEGPythia6.so
>>>
>>>
>>>
>> ---------------------------------------------------------------------
>> Failure is not an option.
>> It comes bundled with your Microsoft product.       (Ferenc Mantfeld)
>> *********************************************************************
>> 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                fax:        ++1 (650) 926-3882
>> Menlo Park, CA 94025, US              home:        ++1 (650) 233-9041
>> *********************************************************************
>
>


---------------------------------------------------------------------
"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                fax:        ++1 (650) 926-3882
Menlo Park, CA 94025, US              home:        ++1 (650) 233-9041
*********************************************************************



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET