Red Hat Bugzilla – Bug 1259835
libpsm2 library conflict with infinipath-psm
Last modified: 2016-08-05 10:11:51 EDT
Description of problem:
libpsm_infinipath.so.1 from infinipath-psm provides the PSM API to use TrueScale devices.
libpsm2.so.2 from libpsm2 provides the PSM2 API to use OmniPath devices.
The two APIs clash with each other when a process links to both libraries.
For instance, both libraries provide a function called "psm_init".
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. tar -xvf test-psm-conflict.tar.gz && cd test-psm-conflict && make
PSM loaded an unexpected/unsupported version (2.0)
./plugin1.so initialization failed
(The expected result would appear if the implemented solution unified the two libraries into one, usable for both TrueScale and OmniPath.
A different solution may be an new non-conflicting API for PSM2, in which case the test program would need changes to work.)
This affects openmpi. A workaround has been put in place in openmpi to avoid loading both PSM libraries at the same time.
I will reference this BZ from openmpi's config file with the workaround, so I do not wish to mark the BZ private.
Created attachment 1069924 [details]
small reproducer program
The conflict is resolved in libpsm2 by changing the function names from psm_* to psm2_*.
*** This bug has been marked as a duplicate of bug 1273155 ***