[devel] Linkinkg problem

Evgenii Terechkov =?iso-8859-1?q?evg_=CE=C1_altlinux=2Eru?=
Вс Мар 4 15:31:13 MSK 2007


Приветствую!

Вот возникла непонятная (для меня) проблема с линковкой:

Собрал audacious-1.3.0 (для чего пришлось собрать и libmcs) и
audacious-plugins-1.3.0 к нему. Всё вроде б/м работает. Но не собирается
то, ради чего всё и затевалось: audacious-imms (imms-3.1.0-rc1, поддержка
audacious экспериментальная). Всё оканчивается на стадий линковки
объектников, таким образом:

ccache gcc   -pipe -Wall -O2 -march=pentium3 -mtune=pentium4 `pkg-config audacious --cflags` -I../clients/xmms/ -DAUDACIOUS -O3 -Wall -fPIC -D_REENTRANT -I../ -I../immscore -I../clients -c  ../clients/bmp/bmpinterface.c -o  audaciousinterface.o
ccache g++   -pipe -Wall -O2 -march=pentium3 -mtune=pentium4 -fno-rtti  -O3 -Wall -fPIC -D_REENTRANT -I../ -I../immscore -I../clients -c  ../clients/clientstubbase.cc -o  clientstubbase.o
ccache g++ audaciousplugin2.o audaciousinterface.o clientstubbase.o libimmscore.a  `pkg-config audacious glib --libs` -lglib \
        -L. -lXss -lXext -lX11 -lpcre -lsqlite3 -lz  -ltag -L/usr/X11R6/lib \
        -shared -Wl,-z,defs,-soname,libaudaciousimms2.so -o libaudaciousimms2.so
audaciousinterface.o: In function `about':
bmpinterface.c:(.text+0x74): undefined reference to `xmms_show_message'
collect2: ld returned 1 exit status
make[1]: *** [libaudaciousimms2.so] Error 1
make: *** [all] Error 2

Я в смущений: на случай с --as-needed это вроде не похоже (все объектники
находятся до бибилиотек), нужный инклуд в bmpinterface.c присутствует
(зависит от -DAUDACIOUS), -laudacious тоже в наличий. Практически каждый из
плагинов пакета audacious-plugins успешно использует тот же самый
xmms_show_message (правда, почему-то, ни один не слинкован с
libaudacious.so). В чём фишка?

-- 
Терешков Евгений, ALT Linux Team.


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