[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