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) > Also, isn't the -x86_64 redundant? Also though I guess we don't have an mpi variable MPI_NAME. Also, your trick of using: for module in $(module avail 2>&1 | grep "^mpi/"); do to find the available mpi modules needs a "-t" option for Lmod. Fortunately this also works with environment-modules: for module in $(module -t avail 2>&1 | grep "^mpi/"); do Also, it doesn't seem to get all of the requires quite right. For scorep-openmpi I have: Provides: libscorep_adapter_compiler_event.so.2()(64bit)(openmpi-x86_64) but: Requires: libscorep_adapter_compiler_event.so.2()(64bit) is being emitted. This appears to be coming from: ./fileattrs/libsymlink.attr:%__libsymlink_requires %{_rpmconfigdir}/elfdeps --provides --soname-only So it looks like we need to contend with that as well. # cat fileattrs/libsymlink.attr # Make libfoo.so symlinks require the soname-provide of the target library %__libsymlink_requires %{_rpmconfigdir}/elfdeps --provides --soname-only %__libsymlink_magic ^symbolic link to `.*lib.*\.so\..*'$ %__libsymlink_exclude_path ^.*[[:digit:]]$ Perhaps with: %global __libsymlink_exclude_path ^%{_prefix}/lib(64)?/(openmpi|mpich)/.*$ in mpi packages. -- Orion Poplawski Technical Manager 303-415-9701 x222 NWRA, Boulder/CoRA Office FAX: 303-415-9702 3380 Mitchell Lane orion@xxxxxxxx Boulder, CO 80301 http://www.nwra.com -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct