[devel] C++ libraries linking
Michael Shigorin
=?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Вт Авг 7 00:51:46 MSD 2007
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, а с самой строчкой
всё в порядке -- ничего не заметил.
Об этой же проблеме Дима тогда же прошлым мартом здесь и говорил
(~s linking).
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
Name: yacas
Version: 1.1.0
Release: alt1
Summary: Yet Another Computer Algebra System
License: GPL
Group: Sciences/Mathematics
URL: http://yacas.sourceforge.net
Source: http://yacas.sourceforge.net/backups/%name-%version.tar.gz
Packager: Michael Shigorin <mike на altlinux.org>
%description
Yacas (Yet Another Computer Algebra System) is a small and highly flexible
computer algebra language. The syntax uses a infix-operator grammar parser.
The distribution contains a small library of mathematical functions, but its
real strength is in the language in which you can easily write your own
symbolic manipulation algorithms. It supports arbitrary precision arithmetic.
%prep
%setup
subst 's,LDFLAGS=\(.*\)\$LDFLAGS\(.*\(LIBS\|-l\).*\),LIBS=\1$LIBS\2,' configure.*
%build
autoreconf -fisv
CXXFLAGS="%optflags" %configure --enable-gmp
%make_build
%install
%make_install
%files
%doc docs/*.html docs/*.gif
%_bindir/%name
%_datadir/%name/
%changelog
* Mon Aug 06 2007 Michael Shigorin <mike на altlinux.org> 1.1.0-alt1
- built for ALT Linux
- the history should be *much* longer, it's just not there. :)
Подробная информация о списке рассылки Devel