[devel] Linkinkg problem
Evgenii Terechkov
evg на altlinux.ru
Вс Мар 4 20:21:52 MSK 2007
"Damir Shayhutdinov" пишет:
>> ~$ findsym xmms_show_message
>> /usr/lib/libxmms.so.1: 00009f39 T xmms_show_message
>> ~$ R -qf /usr/lib/libxmms.so.1
>> libxmms-1.2.10-alt12
>> Это не то, что нам нужно.
>> ~$ nm ~/RPM/BUILD/audacious-1.3.0/src/audacious/audacious G xmms_show_mess
>> 0808c3fd T xmms_show_message
>> ~$ strings /usr/bin/audacious G xmms_show_messa
>> xmms_show_message
>> ~$ R -qa G audacio
>> libaudacious-devel-1.3.0-alt1
>> audacious-plugins-1.3.0-alt1
>> audacious-1.3.0-alt1
>> libaudacious-1.3.0-alt1
>> audacious-itouch-0.1.1-alt1
>> И как же с этим чудом линковать? Или это я так криво собрал это чудо?
>> Странно, audacious-plugins же собрались и работают.
> Нужные символы находятся в бинарнике (видимо он статически слинкован с
> libxmms).
Видимо да, в бинарнике, или я ничего не понимаю. А вот предположение в
скобках неверно - у меня вообще нет пакета разработчика для xmms. Audacious
хоть и дальний потомок xmms, но проект совершенно независимый (хотя многие
куски кода и сохранились со времён xmms, в частности, вышеупомянутый
символ, xmms_show_message).
> С такой недолинкованной библиотекой в режиме --as-needed нельзя
> линковаться. Попробуйте --no-as-needed, или надо audacious собирать с
> динамической libxmms.
И вот тут я окончательно запутываюсь. Первое я попробовать могу. Но это
ведь не может дать никакого эффекта - как можно линковаться с бинарником?
Второе, в силу вышеизложенных причин, просто невозможно.
P.S.: я наверно совсем плохо вначале разьястнил, поэтому вкратце опишу: я
собираю пакет audacious-imms, который пытается собраться либо с
libxmms-devel, либо с libbmp-devel, либо с libaudacious-devel. Ни первого,
ни второго у меня нет. Спеки audacious, audacious-plugings, audacious-imms
получены из сизифных путём тривиальных (?) правок.
--
Терешков Евгений, ALT Linux Team.
Подробная информация о списке рассылки Devel