On Jul 31, 2011, at 4:40 PM, Robert Xu wrote: >> >> SHort answer: >> You won't miss a thing if you change your rpm.spec to do >> --without-semanage >> instead. >> > > Got further after this :) > (I don't even know what SuSE uses semanage in RPM for anyway...) > > > I've ended up here next... > http://slexy.org/view/s2f7L0QS0T >
This is the problem that everyone is encountering: Berkeley DB is both actually and de facto MANDATORY to build rpm. The issue is that /usr/include/db51/db.h and /usr/lib*/libdb-5.1.so MUST exist to build RPM from a tarball easily. Everyone is expecting RPM to just transparently deal with whatever Berkeley DB is installed and that is NOT what is implemented at the moment. Check your ./configure output (or generated config.h) to confirm whether Berkeley DB was found … checking … libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../build -I../lib -I../lib -I../rpmdb -I../rpmio -I../misc -I../beecrypt/include -I../beecrypt/include -I../beecrypt -I../beecrypt -I../lua/local -I../lua/local -I../lua -I../lua -I../db -I../db -I../db/src -I../db/src -I../scripts -I../scripts -DRPM_OS_LINUX=030000 -I/usr/local/include -DRPM_OS_LINUX=030000 -I/usr/local/include -fopenmp -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fno-strict-aliasing -ffunction-sections -g -D_GNU_SOURCE -D_REENTRANT -MT librpmdb_la-dbconfig.lo -MD -MP -MF .deps/librpmdb_la-dbconfig.Tpo -c dbconfig.c -fPIC -DPIC -o .libs/librpmdb_la-dbconfig.o I can tell from flags like -I../db that the RPM configuration has defaulted to "internal" and Berkeley DB is no longer in the rpm-5.4.1 tarball. The easiest path to fix your build failure is just to install db51 on SuSE. You can find what I use by "portably" (translation: its not drop-in ready, but the db51.spec can easily be adjusted to build db-5.1.25): cvs -d :pserver:anonym...@rpm5.org:/v/rpm/cvs get distro/db51 You will need to add the db-5.1.25.tar.gz from Oracle and some copy of db-1.85 from most any distro and then build/install a db51*.rpm. All that's there is a Fedorable based db51.spec that does NOT install /usr/include/db.h and whatever other goofiness that "system" Berekely DB does. So the db51 recipe SHOULD drop-in most everywhere whit no fuss or muss. RPM doesn't NEED db-5.1.25, any version back to db-4.5.x can be used either externally/internally (see archives here for ways to do that, or ask). But there's so many versions of Berkeley DB around that I've deliberately chosen db-5.1.25 in order to make my rpm release QA as simple as possible by targeting one single version of Berkeley DB. hth 73 de Jeff ______________________________________________________________________ RPM Package Manager http://rpm5.org Developer Communication List rpm-devel@rpm5.org