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