Problem with linking when compiling GNUTLS
Dagobert Michelsen
dam at opencsw.org
Thu Nov 5 13:27:35 CET 2009
Hi,
when I try to compile GNUTLS 2.8.5 on Solaris 8 Sparc with Sun Studio 11
against libgcrypt the configure-script has problems linking to it:
> configure:7443: /opt/studio/SOS11/SUNWspro/bin/cc -o conftest -xO3 -
> xarch=v8 -I/opt/csw/include -I/opt/csw/include -xarch=v8 -L/opt/csw/
> lib conftest.c /opt/csw/lib/libgcrypt.so -R/opt/csw/lib >&5
> Undefined first referenced
> symbol in file
> gpg_err_code_from_errno conftest.o (symbol belongs to
> implicit dependency /opt/csw/lib/libgpg-error.so.0)
> gpg_err_code_from_syserror conftest.o (symbol belongs to
> implicit dependency /opt/csw/lib/libgpg-error.so.0)
> ld: fatal: Symbol referencing errors. No output written to conftest
The problem is that configure links directly to libgcrypt.so instead
of what is correctly reported:
> build8s% /opt/csw/bin/libgcrypt-config --libs
> -L/opt/csw/lib -lgcrypt -lgpg-error
Adding "-L/opt/csw/lib -lgpg-error" manually solves the problem.
Additionally, there is an issue with missing networks libs on Solaris:
> DEPDIR=.deps depmode=none /bin/bash ../../build-aux/depcomp \
> /opt/studio/SOS11/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -
> I../.. -I../../lib/includes -I../../lib/includes -I../../libextra/
> includes -I../../gl -I../../gl -I/opt/csw/include -xO3 -xarch=v8 -
> I/opt/csw/include -c ex-serv1.c
> "ex-serv1.c", line 195: warning: statement not reached
> /bin/bash ../../libtool --tag=CC --mode=link /opt/studio/SOS11/
> SUNWspro/bin/cc -xO3 -xarch=v8 -I/opt/csw/include -no-install -
> xarch=v8 -L/opt/csw/lib -lgpg-error -L/opt/csw/lib -o ex-serv1 ex-
> serv1.o libexamples.la ../../lib/libgnutls.la ../../libextra/
> libgnutls-extra.la ../../gl/libgnu.la -lsocket
> libtool: link: /opt/studio/SOS11/SUNWspro/bin/cc -xO3 -xarch=v8 -I/
> opt/csw/include -xarch=v8 -o ex-serv1 ex-serv1.o -L/opt/csw/
> lib ./.libs/libexamples.a ../../lib/.libs/libgnutls.so ../../
> libextra/.libs/libgnutls-extra.so /home/dam/mgar/pkg/gnutls/trunk/
> work/solaris8-sparc/build-isa-sparcv8/gnutls-2.8.5/lib/.libs/
> libgnutls.so -ltasn1 -lz -lgcrypt -lintl ../../gl/.libs/libgnu.a -
> lgpg-error -lsocket -R/home/dam/mgar/pkg/gnutls/trunk/work/solaris8-
> sparc/build-isa-sparcv8/gnutls-2.8.5/lib/.libs -R/home/dam/mgar/pkg/
> gnutls/trunk/work/solaris8-sparc/build-isa-sparcv8/gnutls-2.8.5/
> libextra/.libs -R/opt/csw/lib
> ld: warning: file /home/dam/mgar/pkg/gnutls/trunk/work/solaris8-
> sparc/build-isa-sparcv8/gnutls-2.8.5/lib/.libs/libgnutls.so: linked
> to ../../lib/.libs/libgnutls.so: attempted multiple inclusion of file
> Undefined first referenced
> symbol in file
> inet_ntop ex-serv1.o (symbol belongs to
> implicit dependency /lib/libnsl.so.1)
> ld: fatal: Symbol referencing errors. No output written to ex-serv1
> gmake[6]: *** [ex-serv1] Error 1
> gmake[6]: Leaving directory `/home/dam/mgar/pkg/gnutls/trunk/work/
> solaris8-sparc/build-isa-sparcv8/gnutls-2.8.5/doc/examples'
> gmake[5]: *** [all-recursive] Error 1
> gmake[5]: Leaving directory `/home/dam/mgar/pkg/gnutls/trunk/work/
> solaris8-sparc/build-isa-sparcv8/gnutls-2.8.5/doc'
This can be solved by adding -lsocket -lnsl which shoud be
autodetected during configure.
Best regards
-- Dago
More information about the Gnutls-devel
mailing list