Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] Building openmpi from src rpm: rpmbuild --rebuild errors with 'cpio: MD5 sum mismatch' (since openmpi 1.4.5)
From: livelfs (livelfs_at_[hidden])
Date: 2012-05-31 02:04:31

Since 1.4.5 openmpi release, it is no longer possible to build openmpi
binary with rpmbuild --rebuild if system rpm package version is 4.4.x,
like in SLES10, SLES11, RHEL/CentOS 5.x.

For instance, on CentOS 5.8 x86_64 with rpm

[root_at_horizon _tmp]# rpmbuild --rebuild openmpi-1.4.5-1.src.rpm
Installing openmpi-1.4.5-1.src.rpm
warning: user jsquyres does not exist - using root
error: unpacking of archive failed on file
/usr/src/redhat/SPECS/openmpi-1.4.5.spec;4fc65c74: cpio: MD5 sum mismatch
error: openmpi-1.4.5-1.src.rpm cannot be installed

Apparently this problem is due to lack of support of SHA-256 in rpm 4.4.x

Googling suggests
   rpmbuild -bs \
    --define "_source_filedigest_algorithm md5" \
    --define "_binary_filedigest_algorithm md5" \
should be used to produce openmpi src rpms and avoid the problem.

Please note that
- rpmbuild works OK on RHEL/CentOS 5.x with openmpi-1.4.4-1.src.rpm and
all previous versions
- rpmbuild works OK on with all openmpi versions with rpm 4.8.x from
RHEL/CentOS 6.x
- this is of course not blocking, since I successfully tested 2 workarounds
1) install package with --nomd5, then rpmbuild -ba <specfile>
2) repackage with "old" rpm:
rpm2cpio to extract spec file + sources tar
rpmbuild -bs <specfile> to produce new src rpm
Then rpmbuild --rebuild is OK

Stephane Rouberol

attached mail follows: