I am trying to do a build of rpm from source. I got through the ./configure
and ran through a good chunk of make
. Unfortunately, I keeping getting stopped up on undefined references to bzerror
, bzwrite
, bzflush
and others. Looking around online, I see these functions are part of the bzip2
package. I've installed the development libraries, but I am still getting this message. Can anyone assist me in resolving these dependencies?
make[2]: Entering directory `/mnt/fedRoot/rpm-4.6.1/lib'
make all-am
make[3]: Entering directory `/mnt/fedRoot/rpm-4.6.1/lib'
/bin/sh ../libtool --tag=CC --mode=link gcc -std=gnu99 -g -O2 -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wno-char-subscripts -fno-strict-aliasing -fstack-protector -o rpmdb_archive ../db3/db_archive.o ../db3/util_sig.o librpm.la -lrt -lpthread
gcc -std=gnu99 -g -O2 -fPIC -DPIC -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wno-char-subscripts -fno-strict-aliasing -fstack-protector -o .libs/rpmdb_archive ../db3/db_archive.o ../db3/util_sig.o ./.libs/librpm.so /mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so -lmagic -lelf -llua -lm -lnss3 -lpopt -lrt -lpthread -Wl,--rpath -Wl,/usr/local/lib
/mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so: undefined reference to `bzerror'
/mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so: undefined reference to `bzwrite'
/mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so: undefined reference to `bzflush'
/mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so: undefined reference to `bzdopen'
/mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so: undefined reference to `bzread'
/mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so: undefined reference to `bzclose'
/mnt/fedRoot/rpm-4.6.1/rpmio/.libs/librpmio.so: undefined reference to `bzopen'
collect2: ld returned 1 exit status
make[3]: *** [rpmdb_archive] Error 1
make[3]: Leaving directory `/mnt/fedRoot/rpm-4.6.1/lib'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/mnt/fedRoot/rpm-4.6.1/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/fedRoot/rpm-4.6.1'
make: *** [all] Error 2
make
, it seemed to pick from shortly before the area where I was getting the error. This tells me that there were some files created/compiled that it can keep track of. Do I need to get rid of those, or start over again from a fresh rpm folder when I re-run./configure
? – Hari Seldon Jun 16 '11 at 10:14make clean
removes everything written bymake
, but leaves stuff written byconfigure
;make distclean
removes everything created by eithermake
orconfigure
. – Gilles 'SO- stop being evil' Jun 16 '11 at 12:11make clean
is pretty much universal,make distclean
and its meaning with respect toconfigure
is fairly common even outside GNU). – Gilles 'SO- stop being evil' Jun 16 '11 at 12:30make
manual to my pile of reading. Im determined to make this work... – Hari Seldon Jun 16 '11 at 13:00make distclean
worked as you explained... marking as answered. – Hari Seldon Jun 17 '11 at 14:07