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

From: Remi Mommsen (remigius.mommsen@cern.ch)
Date: Mon Jan 05 2004 - 20:39:45 MET


Hi Constantin,

You could try to compile the fortran stuff with -single_module.

BTW: are you aware that you can install root3 with cernlib support from 
fink (http://fink.sourceforge.net)?

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