[devel] C++ libraries linking

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Авг 7 00:54:43 MSD 2007


On Mon, Aug 06, 2007 at 11:51:46PM +0300, Michael Shigorin wrote:
> On Mon, Aug 06, 2007 at 11:48:54PM +0300, Igor Zubkov wrote:
> > > > борясь с --as-needed в одном кривом софте (yacas),
> > > > заметил, что его библиотеки имеют undefined symbols из
> > > > libstdc++, и действительно, линкуются gcc:
> > > О, а я сегодня по старой памяти и поводу в виде 1.1.0 попробовал
> > > его упакетить.  Спек в аттаче, итог сборки таков:
> > Что-то я не вижу спека в аттаче.
> 
> Виноват-с.
> 
> > > /bin/sh ../libtool --mode=link g++  -pipe -Wall -O2 -march=athlon -mtune=athlon-xp -Wall    -o yacas  yacasmain.o unixcommandline.o stdcommandline.o libyacasnumbers.la libyacas.la libyacasplatform.la ../libltdl/libltdlc.la -lm
> > > g++ -pipe -Wall -O2 -march=athlon -mtune=athlon-xp -Wall -o .libs/yacas yacasmain.o unixcommandline.o stdcommandline.o  ./.libs/libyacasnumbers.so ./.libs/libyacas.so ./.libs/libyacasplatform.so ../libltdl/.libs/libltdlc.a -ldl -lm
> > > ./.libs/libyacas.so: undefined reference to `sqrt'
> > И что здесь не понятно? -lm должно быть до бинари. Патч прислать?
> 
> Да вот что-то читал-читал сегодня UpStream/AsNeeded,
> втыкал-втыкал в лог, и окромя того, что наблюдается
> недолинкованный .libs/libyacas.so, а с самой строчкой
> всё в порядке -- ничего не заметил.

libyacas.so слинкован неправильно, команда на линковку этой libyacas.so
приведена не была.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070807/56254da9/attachment-0001.bin>


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