-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Never append to library path in root
executable
#19943
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This follows up on 26d24de, where it was made sure that ROOT executables always set the required RPATHs to the ROOT libraries, unless the user disables it with `CMAKE_SKIP_INSTALL_RPATH` at build time. Therefore, the code path to set the `LD_LIBRARY_PATH` in the `root` executable was still kept for the case where `CMAKE_SKIP_INSTALL_RPATH` was enabled. However, when thinking about it further, this is not required. The reason to set `CMAKE_SKIP_INSTALL_RPATH` is usually because ROOT is intended to be installed into directories that are already in the paths, like in the MacPorts configuration. So if the user doesn't need rpaths, they also don't need ROOT to figure out its library paths. Therefore, this commit suggests so simply never set the library path in the `root` executable. Closes https://its.cern.ch/jira/browse/ROOT-9758
Thanks! Is the Dlopen trick in TUnixSystem still needed? root/core/unix/src/TUnixSystem.cxx Lines 4625 to 4650 in f28225c
|
I think that's unrelated and maybe still needed to fix https://its.cern.ch/jira/browse/ROOT-5858. See also the commit that reproduces it: Why you're asking? Is there another GitHub issue or Jira ticket related to it? |
Test Results 21 files 21 suites 3d 22h 20m 55s ⏱️ For more details on these failures, see this check. Results for commit d345257. |
Just because it was mentioned in the description of https://its.cern.ch/jira/browse/ROOT-9758 |
Can you produce a relocatable build without
Yes maybe ... but one of the 'point' of the |
This follows up on 26d24de, where it was made sure that ROOT executables always set the required RPATHs to the ROOT libraries, unless the user disables it with
CMAKE_SKIP_INSTALL_RPATH
at build time.Therefore, the code path to set the
LD_LIBRARY_PATH
in theroot
executable was still kept for the case whereCMAKE_SKIP_INSTALL_RPATH
was enabled.However, when thinking about it further, this is not required. The reason to set
CMAKE_SKIP_INSTALL_RPATH
is usually because ROOT is intended to be installed into directories that are already in the paths, like in the MacPorts configuration. So if the user doesn't need rpaths, they also don't need ROOT to figure out its library paths.Therefore, this commit suggests so simply never set the library path in the
root
executable.Closes https://its.cern.ch/jira/browse/ROOT-9758