Paul Pluzhnikov wrote:
> "Paulo Matos" <[EMAIL PROTECTED]> writes:
>
> > Any ideas on how can I know if the code is linked as shared or as
> > static?
>
> What's the link command line?
>
> Add to it '-Wl,--verbose' and you'll see which libraries the linker
> is actually using.
>
> You can also easily verify my guess (that the objects you expect
> aren't actually linked in):
>
> - edit one of the sources that "fails to register", add:
>
>   void function_that_is_never_called() { }
>
> - rebuild
> - run
>
>    nm your_exe | grep function_that_is_never
>
> If the output is nothing, my guess is corect.
> If you get
>
>   <some-hex-number> T function_that_is...
>
> then my guess is wrong.
>

Your guess is correct. Verbose output from linker is wierd:
After the .o files:
ttempt to open ../lib/bf/src/.libs/libbf.a succeeded
attempt to open ../lib/ot/src/.libs/libot.a succeeded
attempt to open ../lib/fm/src/.libs/libfm.a succeeded
attempt to open ../lib/glpkinterface/src/.libs/libglpkinterface.a
succeeded
attempt to open /usr/i686-pc-linux-gnu/bin/libglpk.so failed
attempt to open /usr/i686-pc-linux-gnu/bin/libglpk.a failed
attempt to open /usr/i686-pc-linux-gnu/lib/libglpk.so failed
attempt to open /usr/i686-pc-linux-gnu/lib/libglpk.a failed
attempt to open
/usr/lib/gcc/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib/libglpk.so
failed
attempt to open
/usr/lib/gcc/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib/libglpk.a
failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/libglpk.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/libglpk.a failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/libglpk.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/libglpk.a failed
attempt to open
/usr/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/lib/libglpk.so
faile
attempt to open
/usr/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/lib/libglpk.a
failed
attempt to open
/usr/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../libglpk.so failed
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../libglpk.a
succeeded
attempt to open ../lib/ncquest/src/.libs/libncquest.a succeeded
attempt to open /usr/lib/gcc/i686-pc-linux-gnu/4.0.2/libstdc++.so
succeeded
/usr/lib/gcc/i686-pc-linux-gnu/4.0.2/libstdc++.so
attempt to open /usr/lib/liblog4cpp.so succeeded
/usr/lib/liblog4cpp.so
....

 and it goes on. The first lines are the libtool libraries that it
should be linking and that doesn't seem to be happening... right? Why?
I'm using the -static flag, what's the problem?
Last lines before linker are:
/bin/sh ../libtool --tag=CXX --mode=link g++  -ggdb -Wall -std=c++98
-static -Wl,--verbose -o extsat  esatmathcluster.o esatmath.o
esatmoduledispatcher.o esatstatistics.o esattrue.o esatvariable.o
esatcoeflist.o esatfalse.o esatbooleanop.o esateqt.o esatbooleanvar.o
esatineqsystem.o esatcodegen.o graph.o esatefficientcharstr.o
graphdense.o vartable.o graphsparse.o esatstring.o esatsysutils.o
esatargumentsparser.o esator.o esatequiv.o esatand.o esatboolite.o
esatopcreate.o esatnot.o esatxor.o esatimplies.o esatenumerator.o
smt-parser.o smt-lexer.o esatfile.o esatsolver.o esatmodel.o
esatcluster.o extsat.o esatlogger.o ../lib/bf/src/libbf.la
../lib/ot/src/libot.la ../lib/fm/src/libfm.la
../lib/glpkinterface/src/libglpkinterface.la
../lib/ncquest/src/libncquest.la  -lm -lnsl -llog4cpp
mkdir .libs
g++ -ggdb -Wall -std=c++98 -Wl,--verbose -o extsat esatmathcluster.o
esatmath.o esatmoduledispatcher.o esatstatistics.o esattrue.o
esatvariable.o esatcoeflist.o esatfalse.o esatbooleanop.o esateqt.o
esatbooleanvar.o esatineqsystem.o esatcodegen.o graph.o
esatefficientcharstr.o graphdense.o vartable.o graphsparse.o
esatstring.o esatsysutils.o esatargumentsparser.o esator.o esatequiv.o
esatand.o esatboolite.o esatopcreate.o esatnot.o esatxor.o
esatimplies.o esatenumerator.o smt-parser.o smt-lexer.o esatfile.o
esatsolver.o esatmodel.o esatcluster.o extsat.o esatlogger.o
../lib/bf/src/.libs/libbf.a -L/usr/i686-pc-linux-gnu/bin
-L/usr/i686-pc-linux-gnu/lib
-L/usr/lib/gcc/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib
../lib/ot/src/.libs/libot.a ../lib/fm/src/.libs/libfm.a
../lib/glpkinterface/src/.libs/libglpkinterface.a -lglpk
../lib/ncquest/src/.libs/libncquest.a
/usr/lib/gcc/i686-pc-linux-gnu/4.0.2/libstdc++.so -lm
/usr/lib/liblog4cpp.so -lnsl

Any ideas on where the problem might be?

Thanks,

Paulo Matos

> Cheers,
> --
> In order to understand recursion you must first understand recursion.
> Remove /-nsp/ for email.

_______________________________________________
help-gplusplus mailing list
help-gplusplus@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gplusplus

Reply via email to