From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041220 Description of problem: Given an src.rpm like the above, rpm --install the result of rpmbuild -bb gives the error cpio: MD5 sum mismatch this is an odd edge case which affect openoffice.org developers who build the upstream openoffice.org 1.9.X under fedora where as part of the openoffice.org packaging libgcc_so.1 is copied into their install set. Version-Release number of selected component (if applicable): rpm-4.4.1-2 How reproducible: Always Steps to Reproduce: 1. rpmbuild -bs rpmtest-1.0-1.src.rpm 2. rpm --install rpmtest-1.0-1.i386.rpm Actual Results: cpio: MD5 sum mismatch Additional info:
Created attachment 111331 [details] testcase
The attached rpmtest-1.0-1.src.rpm builds and installs for me.
The result for me: RedHat Enterprise Linux 3 -- rpm-build-4.2.3-13 -- installs OK RedHat Enterprise Linux 4 -- rpm-build-4.3.3-7_nonptl -- md5 sum mismatch Fedora Core 3 -- rpm-build-4.3.2-21 -- md5 sum misamatch
working on YDL 4 [herrold@emac rpmtest-bug149465]$ rpmbuild -bs rpmtest-1.0-1.src.rpm error: File /home/herrold/build/rpmtest-bug149465/rpmtest-1.0-1.src.rpm does not appear to be a specfile. [herrold@emac rpmtest-bug149465]$ rpmbuild --rebuild rpmtest-1.0-1.src.rpm > /dev/null 2>&1 [herrold@emac rpmtest-bug149465]$ sudo rpm -Uvh /home/herrold/rpmbuild/RPMS/ppc/rpmtest-1.0-1.ppc.rpm Preparing... ########################################### [100%] 1:rpmtest ########################################### [100%] [herrold@emac rpmtest-bug149465]$ uname -a Linux emac.first.lan 2.6.8-1.ydl.7 #1 Wed Sep 22 18:46:40 EDT 2004 ppc ppc ppc GNU/Linux [herrold@emac rpmtest-bug149465]$
FC3 with updates failing for me. I noticed this strange line in the rpm building output just before the Provides: and Requires: stuff prelink: /var/tmp/rpmtest-1.0-root/usr/lib/rpmtest/libgcc_s.so.1: prelinked file was modified
Yeah, that's it. With prelink installed I have the problem. If I comment out the undo line in /etc/rpm/macros.prelink then it works fine. Perhaps this is a prelink issue then.
You should never package prelinked binaries or shared libraries. Making a local copy of an already installed library is silly, you should instead simply use the system library and require (perhaps automatically) the package that provides it. If you really want to do something this silly, either build the package on unprelinked system or unprelink it in the makefile. I.e. either replace cp /lib/libgcc_s.so.1 . with prelink -uo ./libgcc_s.so.1 /lib/libgcc_s.so.1 or cp /lib/libgcc_s.so.1 . && prelink -u ./libgcc_s.so.1
(In reply to comment #7) > You should never package prelinked binaries or shared libraries. > Making a local copy of an already installed library is silly I think that remark is what's silly, especially from someone at @redhat.com, since you (i.e. Red Hat) actually recommend distributing your own copy of some of the libraries that are also bundled with the OS. See https://www.redhat.com/f/pdf/rhel4/AppCompat.pdf Note that libgcc_s is not included in the list of "Core Libraries". Just thought I might mention it since we just ran into the same problem here...