Wykrywanie rpm-devel-4.2 pod Owlem
Paweł A. Gajda
mis at k2.net.pl
Mon Nov 8 21:35:25 CET 2004
Monday 08/11/2004 21:17:38, Maciek Pasternacki:
> configure:11238: gcc -o conftest -g -O2 -fno-builtin-log -D_REENTRANT -I/usr/include/db4 -I/usr/incl
> ude/rpm -I/usr/include/ncurses -L$(top_builddir)/trurlib conftest.c -lrpm -lrpmdb -lelf -ldb-4.0 -
> lrpmio -lpopt -lz -lbz2 -lpcre -lreadline -ltinfo >&5
> /usr/bin/ld: cannot find -lelf
> collect2: ld returned 1 exit status
> configure:11244: $? = 1
>
> Libelf występuje w configure.in tylko w jednym miejscu:
>
> AC_CHECK_LIB(rpm, rpmReadPackageInfo,[LIBS="-lrpm $DBLIB $LIBS"],
> AC_CHECK_LIB(rpm, rpmReadPackageHeader,
> [LIBS="-lrpm -lrpmdb $DBLIB $LIBS"],
> AC_CHECK_LIB(rpm, rpmReadPackageFile,
> [LIBS="-lrpm -lrpmdb -lelf $DBLIB $LIBS"
> AC_DEFINE([HAVE_RPM_4_1],1,[])],
> AC_MSG_ERROR(["rpmlib not found"]),
> [$DBLIB -lrpmdb]),
> [$DBLIB -lrpmdb]),
> [$DBLIB])
>
> W PLD /usr/lib/libelf* należą do pakietu elfutils-libelf; czy to jest
> wymagane do działania poldka? (na librpm3 poldek (trochę starszy --
> 0.18.3) się bez libelf budował na czysto; teraz z rpm-4.2 ./configure
> wykłada się w dokładnie tym samym miejscu).
Wygląda na to, że Owl ma inaczej zbudowanego rpma, albo też libelf był
wymagany od którejś "wersji" rpm 4.2. Sprawdziłem właśnie RH9, Fedorę C1
oraz PLD i wszędzie librpm.so jest zlinkowane z libelf:
RH9:
$ rpm -q rpm; ldd /usr/lib/librpm.so | grep libelf
rpm-4.2-0.69
libelf.so.1 => /usr/lib/libelf.so.1 (0x402c4000)
FC1
$ rpm -q rpm; ldd /usr/lib/librpm.so | grep libelf
rpm-4.2.1-0.30
libelf.so.1 => /usr/lib/libelf.so.1 (0x402a6000)
Poprawię to by skrypt sprawdzał najpierw czy libelf jest obecna,
a póki co wyrzuć to ręcznie, co pewnie już zrobiłeś (buduje się?)
More information about the poldek
mailing list