Hide Forgot
Description of problem: The version of OpenMPI was upgraded with the release of RHEL6.2, which led to a change in the shared library version numbers (libmpi.so.0 -> libmpi.so.1, libmpi_cxx.so.0 -> 1, libopen-pal.so.0 -> 2, libopen-rte.so.0 -> 2). The boost-openmpi package has not been upgraded or rebuilt and links directly to the old libraries. Version-Release number of selected component (if applicable): Version : 1.41.0 Release : 11.el6_1.2 Steps to Reproduce: 1. Install the boost-openmpi package (be sure to uninstall openmpi first if it's already there). 2. ldd /usr/lib64/openmpi/lib/libboost_mpi.so and see the 'not found' statements next to the affected libraries 3. ls /usr/lib64/openmpi/lib and note that the mpi libraries mentioned above are there but with different version numbers Actual results: Programs using boost::mpi fail on startup because they can't locate shared libraries. Expected results: Programs using boost::mpi work! Additional info: This probably also applies to the boost-openmpi-python package.
Right, we need to rebuild boost to fix this. Re boost-openmpi-python, there's a related bug 801534.
Since I created this ticket I've noticed the compat-openmpi package. This contains libraries named as the 'old' versions. However, I still find that I need to link to the 'new' ones as well or I get linker errors.
Ah, of course, it makes sense that there would be a compat library. It didn't occur to me to check for that. You shouldn't need to link to both the new and the old library, that's very suspicious and if it works, it is a happy coincidence. Make sure that you are compiling against the compat library headers. Compilation against the new headers would presumably lead to you having to link with the new libraries as well.
The last comment led me to look for a compat-openmpi-devel package, which does indeed exist and contains the headers and mpi compiler wrappers so that things only link to the old libraries. So if there's anything to fix, it's the dependencies in the boost-openmpi packages: - boost-openmpi pulls in openmpi as well as compat-openmpi - it's not clear why. - boost-openmpi-devel does not pull in compat-openmpi-devel (or openmpi-devel) for that matter.
This request was not resolved in time for the current release. Red Hat invites you to ask your support representative to propose this request, if still desired, for consideration in the next release of Red Hat Enterprise Linux.
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development. This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.
This request was evaluated by Red Hat Product Management for inclusion in the current release of Red Hat Enterprise Linux. Because the affected component is not scheduled to be updated in the current release, Red Hat is unable to address this request at this time. Red Hat invites you to ask your support representative to propose this request, if appropriate, in the next release of Red Hat Enterprise Linux.
I believe the following erratum fixed this problem (since a mere rebuild was all that was necessary): https://rhn.redhat.com/errata/RHBA-2013-0692.html That was for 6.4.Z, which means the updated package should be generally available in 6.5.