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
Libraries get linked in multiple times, RPATH is not properly set #1439
Comments
Okay, the multiple links appear to be a red herring; they go away if the correct RPATH is set or LD_LIBRARY_PATH is used. For example, using a (much) older version of HPX that correct RPATHs tbbmalloc, we get:
Note the libtbbmalloc link; there's just one now. |
@brycelelbach: so can this be closed now? I'm confused. |
Not yet, there's still the RPATH issue. I think the solution to this is for me to just add CMAKE_INSTALL_RPATH_USE_LINK_PATH to my build. I'm testing that now. If that works, we may want to make HPX_FULL_RPATH=ON set CMAKE_INSTALL_RPATH_USE_LINK_PATH. |
Could this be related to #1299? |
I don't believe so. This issue is resolved by setting CMAKE_INSTALL_RPATH_USE_LINK_PATH. |
The issues are not related. Furthermore not setting the rpath is by design.
Especially in a cross compilation environment this could lead to real
problems if the paths to the libraries on the device don't match with those
on the host. The multiple linking is indeed a red herring, there is nothing
we can do about that. Those libraries are usually added implicitly by the
Intel compiler.
|
Is there anything we need to do to set |
When building for the Xeon Phi with Intel 15.0.1, I noticed that the overhauled CMake build system causes the same library to be linked in multiple times:
This may be an Intel specific issue - libintlc, libirng libimf and libsvml are all Intel-specific libraries. However, the multiple links to libtbbmalloc makes me think this may be a larger issue.
Additionally, even though I specified -DHPX_FULL_RPATH, the rpath for tbbmalloc has not been added.
The text was updated successfully, but these errors were encountered: