* [devel] Q: libtool (clanlib) @ 2004-10-14 20:56 Alexey Tourbin 2004-10-15 1:19 ` [devel] " Alexey Tourbin ` (2 more replies) 0 siblings, 3 replies; 14+ messages in thread From: Alexey Tourbin @ 2004-10-14 20:56 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 1662 bytes --] Здравствуйте. Вопрос к знатокам libtool. Собираю clanlib-0.7.8. В каталоге Sources/Core собирается библиотека libclanCore.la. В каталоге Sources/Signals собирается библиотека libclanSignals.la. Разделяемая библиотека libclanCore должна быть слинкована с разделяемой библиотекой libclanSignals (однако Makefile'ами этого не предусмотрено). Для этого я делаю такой патч: --- ClanLib-0.7.8~/Sources/Core/Makefile.am 2004-04-20 13:36:27 +0000 +++ ClanLib-0.7.8/Sources/Core/Makefile.am 2004-10-14 19:58:21 +0000 @@ -125,7 +125,7 @@ endif # FIXME: Hardcoding these here might not be a good idea -libclanCore_la_LIBADD = @LIBPTHREAD@ +libclanCore_la_LIBADD = @LIBPTHREAD@ ../Signals/libclanSignals.la libclanCore_la_LDFLAGS = \ -release $(LT_RELEASE) \ Однако же сборка не проходит, т.к. на момент сборки библиотеки libclanCore.la библиотека libclanSignals.la ещё не собрана: make[2]: *** No rule to make target `../Signals/libclanSignals.la', needed by `libclanCore.la'. Stop. Если перейти в каталог Sources/Signals и собрать там библиотеку libclanSignals.la, а затем вернуться в каталог Sources/Core, то сборка библиотеки libclanCore.la проходит уже лучше: $ cd ../Signals $ make ... $ cd ../Core $ make /bin/sh ../../libtool --mode=link g++ ... -lpthread ../Signals/libclanSignals.la -lz g++ -shared ... -Wl,--rpath -Wl,/home/at/RPM/BUILD/ClanLib-0.7.8/Sources/Signals/.libs -L/usr/X11R6/lib -lpthread ../Signals/.libs/libclanSignals.so -lz ... ... $ Однако же появляется rpath на каталог Sources/Signals/.libs. Вопрос: можно ли корректно решить эту задачу стандартными средствами automake/libtool? [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [devel] Re: Q: libtool (clanlib) 2004-10-14 20:56 [devel] Q: libtool (clanlib) Alexey Tourbin @ 2004-10-15 1:19 ` Alexey Tourbin 2004-10-15 7:00 ` [devel] " Sergey V Turchin 2004-10-15 8:49 ` [devel] " Alexey Morozov 2 siblings, 0 replies; 14+ messages in thread From: Alexey Tourbin @ 2004-10-15 1:19 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 503 bytes --] On Fri, Oct 15, 2004 at 12:56:15AM +0400, Alexey Tourbin wrote: > Если перейти в каталог Sources/Signals и собрать там библиотеку > libclanSignals.la, а затем вернуться в каталог Sources/Core, то сборка > библиотеки libclanCore.la проходит уже лучше: Если указать SUBDIRS строго в порядке зависимостей между библиотеками при сборке, то сборка нормально проходит. > Однако же появляется rpath на каталог Sources/Signals/.libs. rpath исчезает за счет libtool --mode=install. Вроде победил. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Q: libtool (clanlib) 2004-10-14 20:56 [devel] Q: libtool (clanlib) Alexey Tourbin 2004-10-15 1:19 ` [devel] " Alexey Tourbin @ 2004-10-15 7:00 ` Sergey V Turchin 2004-10-16 10:40 ` [devel] " Alexey Tourbin 2004-10-15 8:49 ` [devel] " Alexey Morozov 2 siblings, 1 reply; 14+ messages in thread From: Sergey V Turchin @ 2004-10-15 7:00 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 785 bytes --] В сообщении от Пятница 15 Октябрь 2004 00:56 Alexey Tourbin написал(a): > Здравствуйте. > Вопрос к знатокам libtool. > Собираю clanlib-0.7.8. > > В каталоге Sources/Core собирается библиотека libclanCore.la. > В каталоге Sources/Signals собирается библиотека > libclanSignals.la. > > Разделяемая библиотека libclanCore должна быть слинкована с > разделяемой библиотекой libclanSignals А должна? Не грузит ли их обоих кто-нибудь через dlopen/lt_dlopen У меня в kde похожая ситуация возникла, когда от .la избавлялись и во многих библиотеках unresolved simbols по этой причине, что есть нормально, т.к. у того, кто их обоих загрузит, будут все символы. [...] -- Regards, Sergey, ALT Linux Team, http://www.altlinux.ru http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08 [-- Attachment #2: Type: application/pgp-signature, Size: 190 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [devel] Re: Q: libtool (clanlib) 2004-10-15 7:00 ` [devel] " Sergey V Turchin @ 2004-10-16 10:40 ` Alexey Tourbin 0 siblings, 0 replies; 14+ messages in thread From: Alexey Tourbin @ 2004-10-16 10:40 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 1977 bytes --] On Fri, Oct 15, 2004 at 11:00:04AM +0400, Sergey V Turchin wrote: > > Разделяемая библиотека libclanCore должна быть слинкована с > > разделяемой библиотекой libclanSignals > А должна? Не грузит ли их обоих кто-нибудь через dlopen/lt_dlopen Нет... всё прозаично, как гороховый суп. libclanCore -- базовая библиотека clanlib. Приложения, которые используют clanlib, пытаются обнаружить эту библиотеку примерно так: AC_CHECK_LIB(clanCore,main,,echo "ClanBomber requires ClanLib to run."; exit 1) Из-за того, что libclanCore не слинкована с libclanSignals, этот тест проваливается (unresolved symbols) и configure отваливает. Короче, clanlib-0.7.8 released to Daedalus. PS: вообще, проблемой full linking стоит отдельно озаботиться. При сборке того же clanlib обнаружилось, что с библиотекой libmikmod просто так слинковаться нельзя, т.к. подразумевается, что окончательный бинарь должен быть слинковать с libdl: $ gcc ~/ldtest.c -lmikmod /usr/lib/gcc-lib/i586-alt-linux/3.3.3/../../../libmikmod.so: undefined reference to `dlclose' /usr/lib/gcc-lib/i586-alt-linux/3.3.3/../../../libmikmod.so: undefined reference to `dlopen' /usr/lib/gcc-lib/i586-alt-linux/3.3.3/../../../libmikmod.so: undefined reference to `dlsym' collect2: ld returned 1 exit status $ gcc ~/ldtest.c -lmikmod -ldl $ Пришлось ещё пропатчить: --- ClanLib-0.7.8~/configure.ac 2004-04-04 16:40:22 +0000 +++ ClanLib-0.7.8/configure.ac 2004-10-15 00:28:46 +0000 @@ -352,7 +352,7 @@ echo "============================" if test "$enable_clanMikMod" = "yes"; then - CHECK_LIB(mikmod,$srcdir/Setup/Tests/mikmod.cpp,, enable_clanMikMod="no", [-lmikmod]) + CHECK_LIB(mikmod,$srcdir/Setup/Tests/mikmod.cpp,, enable_clanMikMod="no", [-lmikmod -ldl]) fi if test "$enable_clanVorbis" = "yes"; then > -- > Regards, Sergey, ALT Linux Team, http://www.altlinux.ru > http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08 [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Q: libtool (clanlib) 2004-10-14 20:56 [devel] Q: libtool (clanlib) Alexey Tourbin 2004-10-15 1:19 ` [devel] " Alexey Tourbin 2004-10-15 7:00 ` [devel] " Sergey V Turchin @ 2004-10-15 8:49 ` Alexey Morozov 2004-10-15 10:33 ` [devel] " Alexey Tourbin 2 siblings, 1 reply; 14+ messages in thread From: Alexey Morozov @ 2004-10-15 8:49 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 2247 bytes --] On Fri, Oct 15, 2004 at 12:56:15AM +0400, Alexey Tourbin wrote: > Разделяемая библиотека libclanCore должна быть слинкована с разделяемой > библиотекой libclanSignals (однако Makefile'ами этого не предусмотрено). > Для этого я делаю такой патч: > > --- ClanLib-0.7.8~/Sources/Core/Makefile.am 2004-04-20 13:36:27 +0000 > +++ ClanLib-0.7.8/Sources/Core/Makefile.am 2004-10-14 19:58:21 +0000 > @@ -125,7 +125,7 @@ > endif > > # FIXME: Hardcoding these here might not be a good idea > -libclanCore_la_LIBADD = @LIBPTHREAD@ > +libclanCore_la_LIBADD = @LIBPTHREAD@ ../Signals/libclanSignals.la > > libclanCore_la_LDFLAGS = \ > -release $(LT_RELEASE) \ > > Однако же сборка не проходит, т.к. на момент сборки библиотеки > libclanCore.la библиотека libclanSignals.la ещё не собрана: Ну, это проблема не libtool, а корректности написанного Makefile[.am] Если не хочется менять порядок сборки (передвигать Signals перед Core в вышестоящем Makefile.am), то можно добавить в Sources/Core/Makefile.am правило для сборки ../Signals/libclanSignals.la, что-то типа ../Signals/libclanSignals.la: $(MAKE) -C ../Signals/ libclanSignals.la (Ну, и, конечно же, убедиться, что ../Signals/libclanSignals.la попадает в зависимости к libclanCore.la. При использовании _LIBADD это происходит автоматически, если мне не изменяет память). > $ cd ../Signals > $ make > ... > $ cd ../Core > $ make > /bin/sh ../../libtool --mode=link g++ ... -lpthread ../Signals/libclanSignals.la -lz > g++ -shared ... -Wl,--rpath -Wl,/home/at/RPM/BUILD/ClanLib-0.7.8/Sources/Signals/.libs -L/usr/X11R6/lib -lpthread ../Signals/.libs/libclanSignals.so -lz ... > ... > $ > > Однако же появляется rpath на каталог Sources/Signals/.libs. Насколько я помню, он должен изчезать после фазы инсталляции библиотеки (средствами libtool, опять-таки, --mode=install). То есть, на этапе сборки у всех подобных библиотек будет rpath, чтобы можно было грузить приложения локально, без инсталляции (н-р, тесты). > Вопрос: можно ли корректно решить эту задачу стандартными > средствами automake/libtool? Вероятно, да. P.S. И не забудьте добавить %__libtoolize --copy --force aclocal automake autoconf перед %configure ;-)) [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [devel] Re: Q: libtool (clanlib) 2004-10-15 8:49 ` [devel] " Alexey Morozov @ 2004-10-15 10:33 ` Alexey Tourbin 2004-10-15 15:05 ` Michael Shigorin 2004-10-21 10:15 ` Alexey Morozov 0 siblings, 2 replies; 14+ messages in thread From: Alexey Tourbin @ 2004-10-15 10:33 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 243 bytes --] On Fri, Oct 15, 2004 at 03:49:54PM +0700, Alexey Morozov wrote: > P.S. И не забудьте добавить > > %__libtoolize --copy --force > aclocal > automake > autoconf > > перед %configure ;-)) В этом сезоне новая мода: autoreconf -fisv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* [devel] Re: Q: libtool (clanlib) 2004-10-15 10:33 ` [devel] " Alexey Tourbin @ 2004-10-15 15:05 ` Michael Shigorin 2004-10-21 10:15 ` Alexey Morozov 1 sibling, 0 replies; 14+ messages in thread From: Michael Shigorin @ 2004-10-15 15:05 UTC (permalink / raw) To: devel; +Cc: docs [-- Attachment #1: Type: text/plain, Size: 386 bytes --] On Fri, Oct 15, 2004 at 02:33:04PM +0400, Alexey Tourbin wrote: > > P.S. И не забудьте добавить > > %__libtoolize --copy --force > > aclocal > > automake > > autoconf > > перед %configure ;-)) > В этом сезоне новая мода: > autoreconf -fisv А стадион кричал "в доку!.." :) -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Re: Q: libtool (clanlib) 2004-10-15 10:33 ` [devel] " Alexey Tourbin 2004-10-15 15:05 ` Michael Shigorin @ 2004-10-21 10:15 ` Alexey Morozov 2004-10-21 16:13 ` Andrey Rahmatullin 1 sibling, 1 reply; 14+ messages in thread From: Alexey Morozov @ 2004-10-21 10:15 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 815 bytes --] On Fri, Oct 15, 2004 at 02:33:04PM +0400, Alexey Tourbin wrote: > On Fri, Oct 15, 2004 at 03:49:54PM +0700, Alexey Morozov wrote: > > P.S. И не забудьте добавить > > > > %__libtoolize --copy --force > > aclocal > > automake > > autoconf > > > > перед %configure ;-)) > В этом сезоне новая мода: > autoreconf -fisv Ну, да. Только, кстати, не для KDE-based. Для них - отредактировать admin/acliclude.m4.in: 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 Впрочем, я не уверен, что эта команда делает %__libtoolize --copy --force (Именно с ключиками). Так что, подстраховаться никогда не мешает. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] Re: Q: libtool (clanlib) 2004-10-21 10:15 ` Alexey Morozov @ 2004-10-21 16:13 ` Andrey Rahmatullin 2004-10-22 4:54 ` [devel] [JT] " Alexey Morozov 0 siblings, 1 reply; 14+ messages in thread From: Andrey Rahmatullin @ 2004-10-21 16:13 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 471 bytes --] On Thu, Oct 21, 2004 at 05:15:09PM +0700, Alexey Morozov wrote: > Впрочем, я не уверен, что эта команда делает %__libtoolize --copy --force > (Именно с ключиками). Так что, подстраховаться никогда не мешает. Не делает. Зато $ rpm --eval %configure | grep libtoo [ -f configure.ac -o -f configure.in ] && libtoolize --copy --force ; -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(8): * gvy не настолько тормоз, как иногда кажется ;) [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] [JT] Re: Q: libtool (clanlib) 2004-10-21 16:13 ` Andrey Rahmatullin @ 2004-10-22 4:54 ` Alexey Morozov 2004-10-22 13:59 ` Andrey Rahmatullin 0 siblings, 1 reply; 14+ messages in thread From: Alexey Morozov @ 2004-10-22 4:54 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 333 bytes --] On Thu, Oct 21, 2004 at 10:13:47PM +0600, Andrey Rahmatullin wrote: > > (Именно с ключиками). Так что, подстраховаться никогда не мешает. > Не делает. > Зато > $ rpm --eval %configure | grep libtoo > [ -f configure.ac -o -f configure.in ] && libtoolize --copy --force ; Шама-а-ан. Или это уже ldv@ спасибо надо говорить? [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] [JT] Re: Q: libtool (clanlib) 2004-10-22 4:54 ` [devel] [JT] " Alexey Morozov @ 2004-10-22 13:59 ` Andrey Rahmatullin 2004-10-22 14:27 ` Dmitry V. Levin 0 siblings, 1 reply; 14+ messages in thread From: Andrey Rahmatullin @ 2004-10-22 13:59 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 616 bytes --] On Fri, Oct 22, 2004 at 11:54:13AM +0700, Alexey Morozov wrote: > > $ rpm --eval %configure | grep libtoo > > [ -f configure.ac -o -f configure.in ] && libtoolize --copy --force ; > Шама-а-ан. Или это уже ldv@ спасибо надо говорить? * Сбт Сен 27 2003 Dmitry V. Levin <ldv@altlinux> 4.0.4-alt26 - platform.in(%configure): + invoke libtoolize when configure.ac is present (#3049). Но сама строчка (просто без проверки configure.ac) была, очевидно, и до этой версии. -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(8): Это не довод, чтобы рушить систему. -- ldv in sisyphus@ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] [JT] Re: Q: libtool (clanlib) 2004-10-22 13:59 ` Andrey Rahmatullin @ 2004-10-22 14:27 ` Dmitry V. Levin 2004-10-22 16:53 ` Andrey Rahmatullin 0 siblings, 1 reply; 14+ messages in thread From: Dmitry V. Levin @ 2004-10-22 14:27 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 641 bytes --] On Fri, Oct 22, 2004 at 07:59:48PM +0600, Andrey Rahmatullin wrote: > On Fri, Oct 22, 2004 at 11:54:13AM +0700, Alexey Morozov wrote: > > > $ rpm --eval %configure | grep libtoo > > > [ -f configure.ac -o -f configure.in ] && libtoolize --copy --force ; > > Шама-а-ан. Или это уже ldv@ спасибо надо говорить? > > * Сбт Сен 27 2003 Dmitry V. Levin <ldv@altlinux> 4.0.4-alt26 > - platform.in(%configure): > + invoke libtoolize when configure.ac is present (#3049). > > Но сама строчка (просто без проверки configure.ac) была, очевидно, и до > этой версии. До 4.0.4-alt26 была проверка только на configure.in -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] [JT] Re: Q: libtool (clanlib) 2004-10-22 14:27 ` Dmitry V. Levin @ 2004-10-22 16:53 ` Andrey Rahmatullin 2004-10-22 16:59 ` Dmitry V. Levin 0 siblings, 1 reply; 14+ messages in thread From: Andrey Rahmatullin @ 2004-10-22 16:53 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 647 bytes --] On Fri, Oct 22, 2004 at 06:27:50PM +0400, Dmitry V. Levin wrote: > > Но сама строчка (просто без проверки configure.ac) была, очевидно, и до > > этой версии. > До 4.0.4-alt26 была проверка только на configure.in Это я и имел в виду ;) А эта проверка когда появилась? Или почему Леша был так удивлен? -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(8): > НЕдопустимо другое. В любой момент времени абсолютно рабочий и > собираемый пакет может вылететь из репозитария. Какой кошмар! Страшно подумать, в любой момент времени в любой абсолютно рабочей программе может быть вдруг найдена ошибка. -- ldv in devel@ [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [devel] [JT] Re: Q: libtool (clanlib) 2004-10-22 16:53 ` Andrey Rahmatullin @ 2004-10-22 16:59 ` Dmitry V. Levin 0 siblings, 0 replies; 14+ messages in thread From: Dmitry V. Levin @ 2004-10-22 16:59 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 440 bytes --] On Fri, Oct 22, 2004 at 10:53:52PM +0600, Andrey Rahmatullin wrote: > On Fri, Oct 22, 2004 at 06:27:50PM +0400, Dmitry V. Levin wrote: > > > Но сама строчка (просто без проверки configure.ac) была, очевидно, и до > > > этой версии. > > До 4.0.4-alt26 была проверка только на configure.in > Это я и имел в виду ;) > А эта проверка когда появилась? Или почему Леша был так удивлен? Эта проверка появилась очень давно. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2004-10-22 16:59 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-10-14 20:56 [devel] Q: libtool (clanlib) Alexey Tourbin 2004-10-15 1:19 ` [devel] " Alexey Tourbin 2004-10-15 7:00 ` [devel] " Sergey V Turchin 2004-10-16 10:40 ` [devel] " Alexey Tourbin 2004-10-15 8:49 ` [devel] " Alexey Morozov 2004-10-15 10:33 ` [devel] " Alexey Tourbin 2004-10-15 15:05 ` Michael Shigorin 2004-10-21 10:15 ` Alexey Morozov 2004-10-21 16:13 ` Andrey Rahmatullin 2004-10-22 4:54 ` [devel] [JT] " Alexey Morozov 2004-10-22 13:59 ` Andrey Rahmatullin 2004-10-22 14:27 ` Dmitry V. Levin 2004-10-22 16:53 ` Andrey Rahmatullin 2004-10-22 16:59 ` Dmitry V. Levin
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git