-
Notifications
You must be signed in to change notification settings - Fork 900
orted-mpir: add version to shared library #8892
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
Conversation
Can one of the admins verify this patch? |
ok to test |
@ahesford can you re-push after your amend your commit with
|
Commit amended |
Why are we installing that library at all? Isn't it supposed to be a helper library to avoid CFLAGS? |
I believe the only reason this library exists is to avoid CFLAGS. The linker seems to pull it as a dependency in several runtime
|
Yes, it is only to avoid the global CFLAGS, which would optimize out certain MPIR functionality in optimized builds. It was done to not blow away CFLAGS for other files that still want the CFLAGS optimizations. |
Then this PR is the wrong fix. Rather than setting a version, we should make this library a |
I made the |
LGTM. |
The orted-mpir library was split to avoid global CFLAGS, which might optimize out MPIR functionality. The library has been made a `noinst` libtool convenience library to prevent its installation or appearance as a dependency of other libraries. Signed-off-by: Andrew J. Hesford <[email protected]>
The first patch is not necessary. |
The second patch reverted the first and made the library |
@ahesford did you want to cherry-pick this to the v4.0.x branch? |
I think it makes sense to cherry-pick to v4.0.x. Is there something special I need to do to facilitate this? |
You should just need to add |
OK, #8912 |
Because orted-mpir is installed in the public library direrctory, it should have a version. Assign the library libopen_rte_so_version to be consistent with the rest of the RTE.
This is important, e.g., for Void Linux, which tracks shared library versions to avoid broken dependencies. Void splits the core libraries into a
libopenmpi
package so other packages can link against it and avoid pulling in the entire OpenMPI runtime should users not with to use the capability. The runtime modules in/usr/lib/opempi
are shipped with the broaderopenmpi
package, and the package system must track thelibopen-orted-mpir.so
dependency between these two packages at least.This may need backporting to
v4.0.x
and earlier.bot:notacherrypick