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

From: Constantin Loizides (loizides@ikf.uni-frankfurt.de)
Date: Tue Jan 06 2004 - 10:17:50 MET


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
> *********************************************************************
> 
> 



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