[devel] Сборка пакета и предоставляемые им же библиотеки.

Dmitry Marochko mothlike на gmail.com
Вт Ноя 8 23:30:45 MSK 2005


Сразу скажу, что я только осваваю сборку и могу задавать глупые с точки зрения 
более опытного мейнтейнера вопросы, но тем не менее :)

Я пытаюсь собрать в пакет для себя (и Сизифа, если удастся доточить) 
kmediafactory - полезную прогу для DVD авторинга. Так вот, у этой программы 
есть библиотека (плагин), которая зависит от библиотеки в этой же программе. 
При стандартном, но неправильном configure && make && make install все штатно 
собирается и ставится куда надо, в т.ч. устанавливаются библиотеки с помощью 
libtool. Если же собирать в RPM, то сборка проходит нормально, но при 
установке библиотек вываливается со следующими симптомами:

Making install in dvimport
make[2]: Entering directory 
`/home/mothlike/RPM/BUILD/kmediafactory-0.4.1/plugins/dvimport'
make[3]: Entering directory 
`/home/mothlike/RPM/BUILD/kmediafactory-0.4.1/plugins/dvimport'
test -z "/usr/lib/kde3" || mkdir -p -- . 
"/home/mothlike/tmp/kmediafactory-buildroot/usr/lib/kde3"
 /bin/sh ../../libtool --silent --mode=install /bin/install -p  
'kmediafactory_dvimport.la' 
'/home/mothlike/tmp/kmediafactory-buildroot/usr/lib/kde3/kmediafactory_dvimport.la'
libtool: install: warning: relinking `kmediafactory_dvimport.la'

*** Warning: Linking the shared library kmediafactory_dvimport.la against the 
loadable module
*** kmediafactory_video.so is not portable!
/usr/bin/ld: cannot find -lkmediafactory_video
collect2: ld returned 1 exit status
libtool: install: error: relink `kmediafactory_dvimport.la' with the above 
command before installing it
make[3]: *** [install-kde_moduleLTLIBRARIES] Error 1

Я так понимаю, что libtool смотрит на основании .la файла наружу, в системный 
%libdir, а не внутрь %buildroot.

На основании вышеизложенного у меня есть следующие вопросы: нужно ли мне 
принудительно менять .la на .so в Makefile этих плагинов и как правильно 
устанавливать с помощью libtool библиотеки при сборке в RPM? И что такое 
relinking, о котором меня предупреждают?

Я использовал заклинание вида:

%__subst "s/\(Wl,--no-undefined\)/-Wl,--warn-unresolved-symbols \1/g" 
admin/acinclude.m4.in
%__subst "s/\-lkdeui/-lkdeui -lpthread/g" admin/acinclude.m4.in
%__subst "s/\.la/.so/g" admin/acinclude.m4.in
%make -f admin/Makefile.common cvs ||:

для сборки KDE програм в Сизифе.

Также, нужно ли выделять в отдельный пакет библиотеки этой программы, или и 
так пойдет? :)

-- 
With best wishes,
Dmitry Marochko aka Mothlike
----------- следущая часть -----------
j e┴ф╜┼┴Ъ╕
l┼	з╤Йчвщ╝Xm╤÷Ъ√+-╠╘m√)Нф┼ЮЧ≤╘z╧ ┼_щzВ╔Щ╚miхfz{lЪm4Г]tСЧщъ²щс÷з╤ж°├g╖╣╦╖


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