[devel] verify-elf

Anton Farygin =?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Ср Сен 13 18:24:29 MSD 2006


Dmitry V. Levin wrote:
> On Wed, Sep 13, 2006 at 05:21:26PM +0400, Anton Farygin wrote:
> [...]
>> кстати, запускал я его по весьма интересной причине - глючит verify-elf, 
>> если пакет собирать в хост системе и этот глюк не вылезает в hasher'е 
>> (что естественно).
>>
>> Глюк заключается в том, что verify-elf запускает ldd -r на бинарник, 
>> который слинкован с библиотекой из новой версии пакета. А в ней появился 
>> новый символ (без смены soname).. соответственно новый бинарник очень 
>> хочет этот новый символ, который старая библиотека не представляет.. ну 
>> и verify-elf на этом вылетает. Как бы его научить искать библиотеки 
>> сначала в %buildroot, а уже потом - в системе ?
> 
> Вообще-то я предпринимал определённые усилия по вычислению правильного
> LD_LIBRARY_PATH, чтобы системные библиотеки проверялись в последнюю
> очередь.  Ты можешь добавить "set -x" в системный /usr/lib/rpm/verify-elf
> и посмотреть, что там происходит на самом деле?

конечно.

Там выполняется вот такая команда:
  $ RPM_BUILD_ROOT=/home/rider/git.alt/curl/TMP/curl-buildroot/usr 
/usr/lib/rpm/ldd --undefined -- ./usr/bin/curl 
/home/rider/git.alt/curl/TMP/curl-buildroot/usr/lib64:/home/rider/git.alt/curl/TMP/curl-buildroot/lib64:/home/rider/git.alt/curl/TMP/curl-buildroot/usr/lib64:/home/rider/git.alt/curl/TMP/curl-buildroot/usr/X11R6/lib64
         libcurl.so.3 => /usr/lib64/libcurl.so.3 (0x00002ab157ae0000)
         libz.so.1 => /lib64/libz.so.1 (0x00002ab157c33000)
         libc.so.6 => /lib64/libc.so.6 (0x00002ab157d48000)
         libidn.so.11 => /usr/lib64/libidn.so.11 (0x00002ab157f6e000)
         libssl.so.4 => /lib64/libssl.so.4 (0x00002ab1581a0000)
         libcrypto.so.4 => /lib64/libcrypto.so.4 (0x00002ab1583d7000)
         libdl.so.2 => /lib64/libdl.so.2 (0x00002ab158719000)
         /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
undefined symbol: curl_easy_escape      (./usr/bin/curl)

Возникает ощущение, что о втором аргументе ldd ничего не знает.

Rgds,
Rider



Подробная информация о списке рассылки Devel