[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Link error for blahS.c when used in multiple GCC environment.
From: |
Ralf Wildenhues |
Subject: |
Re: Link error for blahS.c when used in multiple GCC environment. |
Date: |
Tue, 3 Apr 2007 00:05:10 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
* Brendon Costa wrote on Mon, Apr 02, 2007 at 11:42:29PM CEST:
> Ok, I installed libtool 1.5.23b and re-bootstrapped my example project.
Thanks for all the data. Upon reading, I'm a bit embarassed to see that
I could have asked a better question earlier; sorry about that.
> /usr/pkg/bin/bash ../../../libtool --tag=CXX --mode=link g++ -g -O2
> -L/home/bcosta/gcc/install/lib -o library_user library_user-main.o
> ../../../src/libs/myshared/libmyshared.la
> ../../../src/libs/mystatic/libmystatic.la ../../../libltdl/libltdlc.la
> -dlopen ../../../src/plugins/myplugin/myplugin.la
Am I right in that you have both a static and a shared library that both
link against libstdc++? If yes, why are you doing this (the static lib)?
I bet it's the libstdc++.a coming into play...
> mkdir .libs
> rm -f .libs/library_user.nm .libs/library_user.nmS .libs/library_user.nmT
> creating .libs/library_userS.c
> extracting global C symbols from
> `../../../src/plugins/myplugin/.libs/myplugin.a'
> extracting global C symbols from
> `/home/bcosta/gcc/example/src/libs/mystatic/.libs/libmystatic.a'
> extracting global C symbols from `/home/bcosta/gcc/install/lib/libstdc++.a'
...here, that is causing the problems. I am also very doubtful that
such a setup is actually supported by libstdc++.
> (cd .libs && gcc -c -fno-builtin "library_userS.c")
> rm -f .libs/library_userS.c .libs/library_user.nm .libs/library_user.nmS
> .libs/library_user.nmT
> g++ -g -O2 -o .libs/library_user library_user-main.o
> .libs/library_userS.o -L/home/bcosta/gcc/install/lib
> -L/home/bcosta/gcc/build/i386-unknown-netbsdelf3.0/libstdc++-v3/src
> -L/home/bcosta/gcc/build/i386-unknown-netbsdelf3.0/libstdc++-v3/src/.libs
> -L/home/bcosta/gcc/build/gcc
> ../../../src/plugins/myplugin/.libs/myplugin.a
> /home/bcosta/gcc/example/src/libs/mystatic/.libs/libmystatic.a -lm
> ../../../src/libs/myshared/.libs/libmyshared.so
> ../../../src/libs/mystatic/.libs/libmystatic.a
> /home/bcosta/gcc/install/lib/libstdc++.so
> ../../../libltdl/.libs/libltdlc.a -Wl,--rpath -Wl,/usr/local/lib
> -Wl,--rpath -Wl,/home/bcosta/gcc/install/lib
> .libs/library_userS.o(.rodata+0x8414): undefined reference to
> `__gnu_internal::palloc_init_mutex'
[...]
Cheers,
Ralf