FairRootGroup / FairRoot

C++ simulation, reconstruction and analysis framework for particle physics experiments
http://fairroot.gsi.de
Other
57 stars 96 forks source link

FairRoot v-17.10 and FairSoft oct17 fails all tests of Geant3 and Geant4 #673

Closed TobiasStockmanns closed 6 years ago

TobiasStockmanns commented 6 years ago

Dear all, I am running FairRoot v-17.10 and FairSoft oct17 on a OpenSuse 42.3 machine. The compilation of both packages runs without error but when I call "make test" all tests with geant3 and 4 fail.

The reason why they fail is a problem in the libraries of TGeant3:

Loading Geant3 libraries ... cling::DynamicLibraryManager::loadLibrary(): /private/PandaSoftware/FairSoft/oct17/build/lib/libgeant321.so: undefined symbol: ZN4ROOT14DefineBehaviorEPvS0 Loading Geant3 libraries ... finished

For Geant4 the error message is:

Loading VGM libraries ... Error in : version mismatch, /private/PandaSoftware/FairSoft/oct17/build/lib/libRootGM.so = 60406, ROOT = 61008

This indicates to me that in the compilation of Geant3/4 the wrong root version was used which is strange because the proper version should come from FairSoft itself. Are the path variable properly set in the compilation process of FairSoft?

Cheers, Tobias

fuhlig1 commented 6 years ago

Hi Tobias,

we don’t touch the PATH and LD_LIBRARY_PATH variables when compiling FairSoft. If you have defined a LD_LIBRARY_PATH when you start the compilation of FairSoft this info will be used during compilation. Probably you compiled FairSoft in a terminal with an existing setup such that you link against the wrong libraries.

Please try to redo the compilation in a clean environment

Ciao

Florian

Am 10.11.2017 um 10:40 schrieb Tobias Stockmanns notifications@github.com:

Dear all, I am running FairRoot v-17.10 and FairSoft oct17 on a OpenSuse 42.3 machine. The compilation of both packages runs without error but when I call "make test" all tests with geant3 and 4 fail.

The reason why they fail is a problem in the libraries of TGeant3:

Loading Geant3 libraries ... cling::DynamicLibraryManager::loadLibrary(): /private/PandaSoftware/FairSoft/oct17/build/lib/libgeant321.so: undefined symbol: ZN4ROOT14DefineBehaviorEPvS0 Loading Geant3 libraries ... finished

For Geant4 the error message is:

Loading VGM libraries ... Error in TUnixSystem::Load: version mismatch, /private/PandaSoftware/FairSoft/oct17/build/lib/libRootGM.so = 60406, ROOT = 61008

This indicates to me that in the compilation of Geant3/4 the wrong root version was used which is strange because the proper version should come from FairSoft itself. Are the path variable properly set in the compilation process of FairSoft?

Cheers, Tobias

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

TobiasStockmanns commented 6 years ago

Hi Florian,

I removed all entries from PATH and LD_LIBRARAY_PATH before the installation of FairSoft. Nevertheless I get many times in the installation process the message: found ROOT 6.04/06 in /usr/local/root. How do I tell the configure script that it should take the newly installed ROOT 6.10 from FairSoft and not the existing one?

Cheers,

Tobias

fuhlig1 commented 6 years ago

Hi Tobias,

if you have an installation of ROOT in one of the system paths this is an serious problem. If possible to remove the installation you should do it. My experience with system installations of ROOT shows that it is nearly if not completely impossible to install another version of ROOT somewhere else. You always end up that some header file from the wrong location was used or you link against the wrong library.

Ciao

Florian

Am 10.11.2017 um 16:05 schrieb Tobias Stockmanns notifications@github.com:

Hi Florian,

I removed all entries from PATH and LD_LIBRARAY_PATH before the installation of FairSoft. Nevertheless I get many times in the installation process the message: found ROOT 6.04/06 in /usr/local/root. How do I tell the configure script that it should take the newly installed ROOT 6.10 from FairSoft and not the existing one?

Cheers,

Tobias

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

TobiasStockmanns commented 6 years ago

Dear Florian,

I removed now the old root version but I get now the error in the installation of FairSoft, that it does not find root!

Cheers,

Tobias

Am 10.11.2017 um 16:25 schrieb fuhlig1 notifications@github.com<mailto:notifications@github.com>:

Hi Tobias,

if you have an installation of ROOT in one of the system paths this is an serious problem. If possible to remove the installation you should do it. My experience with system installations of ROOT shows that it is nearly if not completely impossible to install another version of ROOT somewhere else. You always end up that some header file from the wrong location was used or you link against the wrong library.

Ciao

Florian

Am 10.11.2017 um 16:05 schrieb Tobias Stockmanns notifications@github.com<mailto:notifications@github.com>:

Hi Florian,

I removed all entries from PATH and LD_LIBRARAY_PATH before the installation of FairSoft. Nevertheless I get many times in the installation process the message: found ROOT 6.04/06 in /usr/local/root. How do I tell the configure script that it should take the newly installed ROOT 6.10 from FairSoft and not the existing one?

Cheers,

Tobias

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/FairRootGroup/FairRoot/issues/673#issuecomment-343502443, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGK-ZGVE52nsW4YOgla10UJQklBlfbj4ks5s1Gr6gaJpZM4QZTS5.



Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft: Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt


miharenthas commented 6 years ago

Hi Tobias, I might have some insight here...

1) When recompiling FairSoft, you should manually purge all the Makefiles: the script won't rewrite them with updated information --I have no idea if this is by mistake or by design. So you should basically $ rm -f $( find -name 'Makefile' ) in your FairSoft home directory. And no, removing the installation directory won't do: if you recompile, you're still getting the wrong paths because you're using some old Makefiles.

2) I've been running on OpenSuSE for a while with like 3 different installation of ROOT, counting FairSoft, and it's never been a problem. On an RPM distribution, ideally, you can create modules to load and unload path extensions and switch --this is not the case by default, and there are the thisroot.sh and config.sh scripts hanging around which you source... Also, check in them if they rewrite the paths or append to them, which can also lead to problems. I've also been running ROOT@FairSoft compiled with 2 different versions of GCC, switched by modules (on Fedora 26), and nothing strange happened.

I think your problem is of point 1): you probably configured FairSoft once and for some reason your local ROOT was in your path, and it stuck.

TobiasStockmanns commented 6 years ago

Dear Lorenzo,

thank you very much for your reply.

I managed to solve this problem now by uninstalling the old root version and, in addition, call make_clean.sh

I usually delete the build folder of FairSoft in the assumption that I would have a clean start but apparently this is not the case and one has to follow your suggestion by removing the Makefiles (or call make_clean.sh) as I did.

Cheers,

Tobias

Am 17.11.2017 um 12:09 schrieb Lorenzo Zanetti notifications@github.com<mailto:notifications@github.com>:

Hi Tobias, I might have some insight here...

  1. When recompiling FairSoft, you should manually purge all the Makefiles: the script won't rewrite them with updated information --I have no idea if this is by mistake or by design. So you should basically $ rm -f $( find -name 'Makefile' ) in your FairSoft home directory. And no, removing the installation directory won't do: if you recompile, you're still getting the wrong paths because you're using some old Makefiles.

  2. I've been running on OpenSuSE for a while with like 3 different installation of ROOT, counting FairSoft, and it's never been a problem. On an RPM distribution, ideally, you can create modules to load and unload path extensions and switch --this is not the case by default, and there are the thisroot.sh and config.sh scripts hanging around which you source... Also, check in them if they rewrite the paths or append to them, which can also lead to problems. I've also been running ROOT@FairSoft compiled with 2 different versions of GCC, switched by modules (on Fedora 26), and nothing strange happened.

I think your problem is of point 1): you probably configured FairSoft once and for some reason your local ROOT was in your path, and it stuck.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/FairRootGroup/FairRoot/issues/673#issuecomment-345215449, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGK-ZJiVnzLJ8JK-4QHzlNsiiuhMNqTDks5s3Wl3gaJpZM4QZTS5.



Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft: Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Dr. Karl Eugen Huthmacher Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt