On 05/31/2012 07:26 AM, Jeff Squyres wrote:
> On May 31, 2012, at 2:04 AM, livelfs wrote:
>> 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 184.108.40.206-28.el5_8:
>> [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
> Mmmm. I wonder if this corresponds to me upgrading my cluster (where I make the SRPM) from RHEL5 to RHEL6. I'll bet it does. :-\
> Just curious -- do you know if there's a way I can make an RHEL5-friendly SRPM on my RHEL6 cluster? I seem to have RPM 4.8.0 on my RHEL6 machines.
> Or, better yet, perhaps I should be producing the SRPM on the official OMPI build machine (i.e., where we make our tarballs), which is still back at RHEL4. I'm not quite sure how it evolved that we make tarballs in tightly controlled conditions, but the SRPM is just made by hand on my cluster (which is subject to upgrades, etc.). Hrm. :-\
Building on RHEL 4 shouldn't have any impact. If anything, it would make
things worse instead of better, but I think that's unlikely. This
problem has to do with changes in RPM itself from RHEL5 to RHEL 6.
Ideally, you should be using Mock to build your RPMs, and build a
separate set of RPMs for RHEL 3,4,5,6,... It's a PITA, I know, but it's
really the best way to build RPMs without any dependency gotchas.