[devel] I: rpm 4.0.4-alt98.49, latter rain

Dmitry V. Levin ldv на altlinux.org
Вт Окт 5 20:26:19 UTC 2010


On Tue, Oct 05, 2010 at 04:04:52PM +0300, Kirill A. Shutemov wrote:
> On Tue, Oct 05, 2010 at 02:17:17PM +0400, Alexey Tourbin wrote:
> > On Tue, Oct 05, 2010 at 02:01:03PM +0400, Dmitry V. Levin wrote:
> > > overlinked libraries означает, что ELF cлинкован с тем, с чем не должен.
> > > underlinked libraries означает, что ELF не cлинкован с тем, с чем должен.
> > > 
> > > С первым мы уже давно боремся с помощью -Wl,--as-needed, поэтому наличие
> > > overlinked libraries, скорее всего, является следствием использования
> > > -Wl,--no-as-needed.
> > > 
> > > Cо вторым мы тоже давно боремся с помощью "%set_verify_elf_method strict".
> > 
> > C недолинковкой вопрос несколько сложнее: verify-elf/ldd не ругается
> > на непрямые транзитивные зависимости (по символам), если они разрешаются
> > при загрузке.  В этом вся соль.  И в этом одна из претензий к тулчейну!
> > 
> > Я сейчас не могу придумать тривиальный пример,
> 
> $ cat test.c
> #include <gdk/gdkwindow.h>
> 
> int main()
> {
>         gdk_window_set_cursor(NULL, NULL);
>         return 0;
> }
> $ gcc `pkg-config --cflags gtk+-2.0` test.c -o test -lgdk-x11-2.0
> $ objdump -p test |grep NEEDED
>   NEEDED               libgdk-x11-2.0.so.0
>   NEEDED               libc.so.6
> $ ldd test | wc -l
> 41
> 
> Вы такое имеете ввиду?

Нет, в этом примере всё в норме:
$ /usr/lib/rpm/lib.req ./test
/lib64/ld-linux-x86-64.so.2
rtld(GNU_HASH)
libc.so.6(GLIBC_2.2.5)(64bit)
lib.req: WARNING: libgdk-x11-2.0.so.0()(64bit) is not yet set-versioned
libgdk-x11-2.0.so.0()(64bit)

> > вот менее тривиальный
> > пример:
> > 
> > lib.req: WARNING: /usr/lib64/libwx_gtk2u_adv-2.8.so.0.7.0: underlinked libraries: /usr/lib64/libX11.so.6
> > lib.req: WARNING: /usr/lib64/libwx_gtk2u_core-2.8.so.0.7.0: underlinked libraries: /usr/lib64/libX11.so.6
> > 
> > Как так можно было слинковать?
> > Проблемы в консерватории имеются.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20101006/ae6f93cf/attachment.bin>


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