Bug 1274839 - Missing buildrequire libpsm2-devel
Missing buildrequire libpsm2-devel
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: openmpi (Show other bugs)
Unspecified Unspecified
low Severity medium
: rc
: 7.3
Assigned To: Michal Schmidt
Mike Stowell
Depends On:
  Show dependency treegraph
Reported: 2015-10-23 11:39 EDT by Branislav Náter
Modified: 2017-03-22 12:50 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2017-03-22 12:50:51 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Branislav Náter 2015-10-23 11:39:44 EDT
Description of problem:
yum-buildep fails to install all build requires.

Version-Release number of selected component (if applicable):

Steps to Reproduce:
1. yum-builddep openmpi-1.10.0-10.el7.src.rpm
Loaded plugins: product-id
Enabling rhel-source repository
Enabling rhel-opt-source repository
Getting requirements for openmpi-1.10.0-10.el7.src
 --> Already installed : gcc-gfortran-4.8.5-4.el7.x86_64
 --> Already installed : 1:valgrind-devel-3.10.0-16.el7.x86_64
 --> Already installed : libibverbs-devel-1.1.8-8.el7.x86_64
 --> Already installed : opensm-devel-3.3.19-1.el7.x86_64
 --> Already installed : librdmacm-devel-1.0.21-1.el7.x86_64
 --> Already installed : hwloc-devel-1.7-5.el7.x86_64
 --> Already installed : python-2.7.5-34.el7.x86_64
 --> Already installed : libtool-ltdl-devel-2.4.2-20.el7.x86_64
 --> Already installed : libesmtp-devel-1.0.6-7.el7.x86_64
 --> Already installed : libfabric-devel-1.1.0-2.el7.x86_64
No uninstalled build requires

2. su test -c 'rpmbuild --rebuild  openmpi-1.10.0-10.el7.src.rpm*''

Actual results:
warning: user mockbuild does not exist - using root
error: Failed build dependencies:
	libpsm2-devel is needed by openmpi-1.10.0-10.el7.x86_64

Expected results:
all build requires are installed and package is successfully rebuilded.

Additional info:
Not sure if a spec issue or yum-buildep bug...
Comment 2 Michal Schmidt 2016-01-15 13:03:12 EST
The libpsm2 source package surely generates the libpsm2-devel binary package. Need to check if it appears in the expected repositories...
Comment 3 Michal Schmidt 2017-03-22 12:50:51 EDT
libpsm2-devel is in the optional channel, but that was not the issue.

The problem is due to a known limitation in how a src.rpm can express BuildRequires that are arch-specific. openmpi.spec has:

%ifarch x86_64
BuildRequires:          infinipath-psm-devel libpsm2-devel

If Koji/Brew chooses to create the src.rpm on an x86_64 host, the resulting src.rpm will have libpsm2-devel listed among its Requires. Otherwise it will not.

For instance:
# rpm -qip openmpi-1.10.3-3.el7.src.rpm | grep Arch
Architecture: ppc

This src.srpm was created on a ppc machine. And indeed there is no mention of libpsm2-devel in its Requires:
# rpm -qRp openmpi-1.10.3-3.el7.src.rpm | grep psm

If however I first install the src.rpm, and recreate it from the spec file on my local x86_64 host, it will have the Requires recorded:
# rpm -i openmpi-1.10.3-3.el7.src.rpm
# cd ~/rpmbuild/SPECS
# rpmbuild -bs openmpi.spec
Wrote: /root/rpmbuild/SRPMS/openmpi-1.10.3-3.el7.src.rpm
# rpm -qRp ../SRPMS/openmpi-1.10.3-3.el7.src.rpm | grep psm

For an older discussion about this topic with RPM developers, see bug 948709.

Note You need to log in before you can comment on or make changes to this bug.