Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#42 Linking problem with synamic IT++ library

release_3.7.x
closed
nobody
None
5
2012-09-15
2003-03-06
Anonymous
No

I am using IT++ 3.7.0 without LAPACK and CBLAS,
compiling on an Intel based Linux machine.

If I link my program against IT++ statically I have no
problems with missing symbols, I presume this is
because I am not using the parts of the library that
require the missing symbols. When I compile against an
IT++ dynamic library I get the following errors:

c++ -L/home/g4klx/LinWSJT/it++3.7.0/lib JNTestFSK.o -o
JNTestFSK -lfftw -lsndfile -pthread -lwx_gtk-2.4 -lit++s
/home/g4klx/LinWSJT/it++3.7.0/lib/libit++_s.so:
undefined reference to dgetri_' /home/g4klx/LinWSJT/it++3.7.0/lib/libit++_s.so: undefined reference tozgetri
'
/home/g4klx/LinWSJT/it++3.7.0/lib/libit++s.so:
undefined reference to chbevl' /home/g4klx/LinWSJT/it++3.7.0/lib/libit++_s.so: undefined reference tozgetrf
'
/home/g4klx/LinWSJT/it++3.7.0/lib/libit++s.so:
undefined reference to `dgetrf
'
collect2: ld returned 1 exit status

Presumably because a dynamic library needs to resolve
all of its references even though they may not be used,
whereas a static linkage can be more intelligent.

This is not a show stopper for me, but I would like to
use dynamic linking eventually.

Jonathan g4klx@g4klx.demon.co.uk

Discussion

  • Pĺl Frenger
    Pĺl Frenger
    2003-06-17

    Logged In: YES
    user_id=353760

    The undefined symbols you get are LAPACK functions. Make
    shure that you have configured with both no-cblas and
    no-lapack, like this:

    ./configure no-cblas no-lapack all

    You might also need to add the flags -DNO_CBLAS and
    -DNO_LAPACK when you compile your own program. In IT++ 3.7.1
    (not yet released) this will be required anyway.

    //Pl