On 07/07/2015 03:12 AM, Sandro Mani wrote:
Hello
I've got an initial implementation of this using the rpm dependency generator
hooks, as suggested in the other thread [1].
The resulting scripts are here:
https://smani.fedorapeople.org/rpm-mpi-hooks/
There is just one problem: an elf binary in an $MPI_HOME subfolder will now
trigger both the elf as well as the mpi dependency generator, resulting in both
libfoo.so()(64bit)
libfoo.so()(64bit)(openmpi-x86_64)
being generated for /usr/lib64/openmpi/lib/libfoo.so. However, to achieve the
goal of disambiguating the provides of libfoo and libfoo-openmpi,
libfoo-openmpi should only provide "libfoo.so()(64bit)(openmpi-x86_64)".
The only solution which comes to mind is adding
%__elf_exclude_path ^%{_prefix}/lib(64)/(openmpi|mpich)/.*$
to elf.attr. Is this acceptable?
It appears to be sufficient to define this macro anywhere, not just in
elf.attr. So I think it could be added in to a rpm macros file in
openmpi/mpich-devel. Also I think you need (64)? or (|64).
Cool stuff, thanks for working on this.
--
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane orion(a)nwra.com
Boulder, CO 80301
http://www.nwra.com