ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] C++ libraries linking
@ 2006-03-20 20:29 Igor Vlasenko
  2006-03-20 21:23 ` Dmitry V. Levin
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Igor Vlasenko @ 2006-03-20 20:29 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: TEXT/PLAIN, Size: 740 bytes --]

Уважаемые коллеги!
борясь с --as-needed в одном кривом софте (yacas), 
заметил, что его библиотеки имеют undefined symbols из libstdc++,
и действительно, линкуются gcc:

gcc -shared  .libs/deffile.o ...
./.libs/libyacasnumbers.so ./.libs/libyacasplatform.so -lm -ldl
-march=athlon -Wl,--as-needed -Wl,-soname -Wl,libyacas.so.0 -o
.libs/libyacas.so.0.0.0

однако это получается из

../libtool --mode=link g++ -pipe -Wall -O2 -march=athlon -Wall 
-Wl,--as-needed -o libyacas.la -rpath /usr/lib deffile.lo ...
... <other>.lo libyacasnumbers.la libyacasplatform.la -lm -ldl

где явно указан g++.

Кто знает в чем причина?


-- 
Dr. Igor Vlasenko
vlasenko@imath.kiev.ua
===================== 
Topology department
Institute of Math
Kiev, Ukraine

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] C++ libraries linking
  2006-03-20 20:29 [devel] C++ libraries linking Igor Vlasenko
@ 2006-03-20 21:23 ` Dmitry V. Levin
  2006-03-21  6:31 ` Vitaly Lipatov
  2007-08-06 20:07 ` Michael Shigorin
  2 siblings, 0 replies; 8+ messages in thread
From: Dmitry V. Levin @ 2006-03-20 21:23 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 786 bytes --]

On Mon, Mar 20, 2006 at 10:29:56PM +0200, Igor Vlasenko wrote:
> Уважаемые коллеги!
> борясь с --as-needed в одном кривом софте (yacas), 
> заметил, что его библиотеки имеют undefined symbols из libstdc++,
> и действительно, линкуются gcc:
> 
> gcc -shared  .libs/deffile.o ...
> ./.libs/libyacasnumbers.so ./.libs/libyacasplatform.so -lm -ldl
> -march=athlon -Wl,--as-needed -Wl,-soname -Wl,libyacas.so.0 -o
> .libs/libyacas.so.0.0.0
> 
> однако это получается из
> 
> ../libtool --mode=link g++ -pipe -Wall -O2 -march=athlon -Wall 
> -Wl,--as-needed -o libyacas.la -rpath /usr/lib deffile.lo ...
> ... <other>.lo libyacasnumbers.la libyacasplatform.la -lm -ldl
> 
> где явно указан g++.
> 
> Кто знает в чем причина?

autoreconf -fisv не помогает?


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] C++ libraries linking
  2006-03-20 20:29 [devel] C++ libraries linking Igor Vlasenko
  2006-03-20 21:23 ` Dmitry V. Levin
@ 2006-03-21  6:31 ` Vitaly Lipatov
  2007-08-06 20:07 ` Michael Shigorin
  2 siblings, 0 replies; 8+ messages in thread
From: Vitaly Lipatov @ 2006-03-21  6:31 UTC (permalink / raw)
  To: ALT Devel discussion list

On Monday 20 March 2006 23:29, Igor Vlasenko wrote:

> ../libtool --mode=link g++ -pipe -Wall -O2 -march=athlon -Wall
> -Wl,--as-needed -o libyacas.la -rpath /usr/lib deffile.lo ...
> ... <other>.lo libyacasnumbers.la libyacasplatform.la -lm -ldl
>
> где явно указан g++.
>
> Кто знает в чем причина?
к --mode=link пропущено
--tag=CXX
?

-- 
Lav
Виталий Липатов
Санкт-Петербург
GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] C++ libraries linking
  2006-03-20 20:29 [devel] C++ libraries linking Igor Vlasenko
  2006-03-20 21:23 ` Dmitry V. Levin
  2006-03-21  6:31 ` Vitaly Lipatov
@ 2007-08-06 20:07 ` Michael Shigorin
  2007-08-06 20:48   ` Igor Zubkov
  2 siblings, 1 reply; 8+ messages in thread
From: Michael Shigorin @ 2007-08-06 20:07 UTC (permalink / raw)
  To: ALT Devel discussion list

On Mon, Mar 20, 2006 at 10:29:56PM +0200, Igor Vlasenko 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'
./.libs/libyacas.so: undefined reference to `tan'
./.libs/libyacas.so: undefined reference to `asin'
./.libs/libyacas.so: undefined reference to `log'
./.libs/libyacas.so: undefined reference to `atan'
./.libs/libyacas.so: undefined reference to `fmod'
./.libs/libyacas.so: undefined reference to `acos'
./.libs/libyacas.so: undefined reference to `exp'
./.libs/libyacas.so: undefined reference to `sin'
./.libs/libyacas.so: undefined reference to `pow'
./.libs/libyacas.so: undefined reference to `cos'

> gcc -shared  .libs/deffile.o ...
> ./.libs/libyacasnumbers.so ./.libs/libyacasplatform.so -lm -ldl
> -march=athlon -Wl,--as-needed -Wl,-soname -Wl,libyacas.so.0 -o
> .libs/libyacas.so.0.0.0
> 
> однако это получается из
> 
> ../libtool --mode=link g++ -pipe -Wall -O2 -march=athlon -Wall 
> -Wl,--as-needed -o libyacas.la -rpath /usr/lib deffile.lo ...
> ... <other>.lo libyacasnumbers.la libyacasplatform.la -lm -ldl
> 
> где явно указан g++.
> 
> Кто знает в чем причина?

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] C++ libraries linking
  2007-08-06 20:07 ` Michael Shigorin
@ 2007-08-06 20:48   ` Igor Zubkov
  2007-08-06 20:51     ` Michael Shigorin
  0 siblings, 1 reply; 8+ messages in thread
From: Igor Zubkov @ 2007-08-06 20:48 UTC (permalink / raw)
  To: ALT Devel discussion list

2007/8/6, Michael Shigorin <mike osdn.org.ua>:
> On Mon, Mar 20, 2006 at 10:29:56PM +0200, Igor Vlasenko 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'
> ./.libs/libyacas.so: undefined reference to `tan'
> ./.libs/libyacas.so: undefined reference to `asin'
> ./.libs/libyacas.so: undefined reference to `log'
> ./.libs/libyacas.so: undefined reference to `atan'
> ./.libs/libyacas.so: undefined reference to `fmod'
> ./.libs/libyacas.so: undefined reference to `acos'
> ./.libs/libyacas.so: undefined reference to `exp'
> ./.libs/libyacas.so: undefined reference to `sin'
> ./.libs/libyacas.so: undefined reference to `pow'
> ./.libs/libyacas.so: undefined reference to `cos'

И что здесь не понятно? -lm должно быть до бинари. Патч прислать?

> > gcc -shared  .libs/deffile.o ...
> > ./.libs/libyacasnumbers.so ./.libs/libyacasplatform.so -lm -ldl
> > -march=athlon -Wl,--as-needed -Wl,-soname -Wl,libyacas.so.0 -o
> > .libs/libyacas.so.0.0.0
> >
> > однако это получается из
> >
> > ../libtool --mode=link g++ -pipe -Wall -O2 -march=athlon -Wall
> > -Wl,--as-needed -o libyacas.la -rpath /usr/lib deffile.lo ...
> > ... <other>.lo libyacasnumbers.la libyacasplatform.la -lm -ldl
> >
> > где явно указан g++.
> >
> > Кто знает в чем причина?

-- 
icesik

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] C++ libraries linking
  2007-08-06 20:48   ` Igor Zubkov
@ 2007-08-06 20:51     ` Michael Shigorin
  2007-08-06 20:54       ` Dmitry V. Levin
  0 siblings, 1 reply; 8+ messages in thread
From: Michael Shigorin @ 2007-08-06 20:51 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1363 bytes --]

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/

[-- Attachment #2: yacas.spec --]
[-- Type: text/plain, Size: 1102 bytes --]

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. :)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] C++ libraries linking
  2007-08-06 20:51     ` Michael Shigorin
@ 2007-08-06 20:54       ` Dmitry V. Levin
  2007-08-06 21:27         ` Igor Zubkov
  0 siblings, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2007-08-06 20:54 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1418 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [devel] C++ libraries linking
  2007-08-06 20:54       ` Dmitry V. Levin
@ 2007-08-06 21:27         ` Igor Zubkov
  0 siblings, 0 replies; 8+ messages in thread
From: Igor Zubkov @ 2007-08-06 21:27 UTC (permalink / raw)
  To: ALT Devel discussion list

2007/8/6, Dmitry V. Levin <ldv altlinux.org>:
> > > И что здесь не понятно? -lm должно быть до бинари. Патч прислать?
> >
> > Да вот что-то читал-читал сегодня UpStream/AsNeeded,
> > втыкал-втыкал в лог, и окромя того, что наблюдается
> > недолинкованный .libs/libyacas.so, а с самой строчкой
> > всё в порядке -- ничего не заметил.
>
> libyacas.so слинкован неправильно, команда на линковку этой libyacas..so
> приведена не была.

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

-- 
icesik

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-08-06 21:27 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-20 20:29 [devel] C++ libraries linking Igor Vlasenko
2006-03-20 21:23 ` Dmitry V. Levin
2006-03-21  6:31 ` Vitaly Lipatov
2007-08-06 20:07 ` Michael Shigorin
2007-08-06 20:48   ` Igor Zubkov
2007-08-06 20:51     ` Michael Shigorin
2007-08-06 20:54       ` Dmitry V. Levin
2007-08-06 21:27         ` Igor Zubkov

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