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

Kirill A. Shutemov kirill на shutemov.name
Вт Окт 5 13:04:52 UTC 2010


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

Вы такое имеете ввиду?

> вот менее тривиальный
> пример:
> 
> 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
> 
> Как так можно было слинковать?
> Проблемы в консерватории имеются.
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

-- 
 Kirill A. Shutemov


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