[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