From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-AU; rv:1.7.5) Gecko/20041213 Firefox/1.0 Description of problem: When building python-2.4-2 with 'rpmbuild -bb --target i686 python.spec' it dies with error 'Bad exit status from /var/tmp/rpm-tmp.7342 (%build)' The last few lines of the build process before it dies are; gcc -pthread -shared Modules/_bsddb.o -L/usr/lib -ldb-4.3 -o Modules/_bsddb.so /usr/bin/ld: cannot find -ldb-4.3 collect2: ld returned 1 exit status make: *** [Modules/_bsddb.so] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.7342 (%build) [root@fc3-p4-2260 SPECS]# Version-Release number of selected component (if applicable): python-2.4-2 How reproducible: Always Steps to Reproduce: 1. rpmbuild -bb --target i686 python.spec with version of db4 being 4.2.52-6 2. it builds for a little while 3. die with error Actual Results: As above Expected Results: Tell me I'm missing db4 >= 4.3 at start of building so that I can get it and install it. Additional info:
The spec file actually has a BuildPrereq: db4-devel which should normally require db4. Do you have db4-devel on your system?
[root@fc3-p4-2260 ~]# rpm -q db4-devel db4-devel-4.2.52-6
given my output, my guess is that it should be ammended to 'BuildPrereq: db4-devel >= 4.3' or whatever the equivelent is.
Ah I see.
*** Bug 145900 has been marked as a duplicate of this bug. ***
Fixed in python 2.4.1-2 and newer, even though 'BuildPrereq: db4-devel >= 4.3' is only half right - it won't work with db4 4.4.
FWIW, I fixed this over at pyvault using the following patch hunk: @@ -393,11 +393,10 @@ # # Edit the variables DB and DBLIBVERto point to the db top directory # and the subdirectory of PORT where you built it. -#DB=/usr/local/BerkeleyDB.4.0 -#DBLIBVER=4.0 -#DBINC=$(DB)/include -#DBLIB=$(DB)/lib -#_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER) +#DBLIBVER=4.3 +DBINC=/usr/include/db4 +DBLIB=/usr/lib +_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb Instead of specifying an exact version in the linkage, you can use db which is invariantly a symlink to the latest version of db4. This may have been done because of a conflict in compat-db, but that's removed, only two libs and no symlinks: /lib/libdb-4.1.so /lib/libdb-4.2.so I'm not sure what the pecking order is for ld, but I don't see libdb.so.3 and friends lingering around.