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
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET