@Axel For me, it’s a bug.
The problem is that ROOT “prepends” its own “root-config --libdir
” to the list of searched directories from the “LD_LIBRARY_PATH
” (and then appends the “.
” directory).
You can easily see it, just try: gSystem->Load("NonExistent");
I would really prefer to have “.:${LD_LIBRARY_PATH}:/anything:/else:/useful
” (where “LD_LIBRARY_PATH
” is exactly what the user provided, without ANY modifications).
This is actually a bug in the “root” executable, which internally modifies its own “LD_LIBRARY_PATH
” value:
std::cout << gSystem->ExpandPathName("${LD_LIBRARY_PATH}") << std::endl;
For the time being, this does NOT happen if you use the “root.exe” executable, though. So, running “root.exe” (instead of “root”) is a possible brutal fix.
You can also try to apply another brutal fix (in your “rootlogon.C
” file):
gSystem->SetDynamicPath(TString::Format("/my/preferred/path:%s", gSystem->GetDynamicPath()));
BTW. You should NEVER install ROOT into “standard” system directories.