Problem with linking when compiling GNUTLS

View: New views
7 Messages — Rating Filter:   Alert me  

Problem with linking when compiling GNUTLS

by Dagobert Michelsen-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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



_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@...
http://lists.gnu.org/mailman/listinfo/gnutls-devel

Re: Problem with linking when compiling GNUTLS

by Simon Josefsson-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dagobert Michelsen <dam@...> writes:

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

This should be fixed by the latest changes made to gnulib right now.
I'm going to release 2.9.7 shortly, you could test that so that 2.10.x
will work OK.

/Simon


_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@...
http://lists.gnu.org/mailman/listinfo/gnutls-devel

Re: Problem with linking when compiling GNUTLS

by Simon Josefsson-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dagobert Michelsen <dam@...> writes:

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

Hi.  GnuTLS isn't using libgcrypt-config to detect the libgrypt
libraries, but the following patch hopefully fixes it.  Will be part of
upcoming 2.9.8, so please test that.

/Simon

From 65e184ffdcf0441b51cd447f519d929376f7e06b Mon Sep 17 00:00:00 2001
From: Simon Josefsson <simon@...>
Date: Thu, 5 Nov 2009 14:12:16 +0100
Subject: [PATCH] Make sure libgcrypt's dependency on libgpg-error is known.

---
 lib/m4/hooks.m4 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/m4/hooks.m4 b/lib/m4/hooks.m4
index 2973d6d..8e3ec92 100644
--- a/lib/m4/hooks.m4
+++ b/lib/m4/hooks.m4
@@ -34,7 +34,7 @@ AC_DEFUN([LIBGNUTLS_HOOKS],
   DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
   AC_SUBST(DLL_VERSION)
 
-  AC_LIB_HAVE_LINKFLAGS(gcrypt,, [#include <gcrypt.h>],
+  AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [#include <gcrypt.h>],
     [enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128])
   if test "$ac_cv_libgcrypt" != yes; then
     AC_MSG_ERROR([[
--
1.6.5.2



_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@...
http://lists.gnu.org/mailman/listinfo/gnutls-devel

Re: Problem with linking when compiling GNUTLS

by Dagobert Michelsen-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Simon,

Am 05.11.2009 um 14:13 schrieb Simon Josefsson:

> Dagobert Michelsen <dam@...> writes:
>> 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.
>
> Hi.  GnuTLS isn't using libgcrypt-config to detect the libgrypt
> libraries, but the following patch hopefully fixes it.  Will be part  
> of
> upcoming 2.9.8, so please test that.
>
> /Simon
>
> From 65e184ffdcf0441b51cd447f519d929376f7e06b Mon Sep 17 00:00:00 2001
> From: Simon Josefsson <simon@...>
> Date: Thu, 5 Nov 2009 14:12:16 +0100
> Subject: [PATCH] Make sure libgcrypt's dependency on libgpg-error is  
> known.
>
> ---
> lib/m4/hooks.m4 |    2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/lib/m4/hooks.m4 b/lib/m4/hooks.m4
> index 2973d6d..8e3ec92 100644
> --- a/lib/m4/hooks.m4
> +++ b/lib/m4/hooks.m4
> @@ -34,7 +34,7 @@ AC_DEFUN([LIBGNUTLS_HOOKS],
>   DLL_VERSION=`expr ${LT_CURRENT} - ${LT_AGE}`
>   AC_SUBST(DLL_VERSION)
>
> -  AC_LIB_HAVE_LINKFLAGS(gcrypt,, [#include <gcrypt.h>],
> +  AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [#include <gcrypt.h>],
>     [enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128])
>   if test "$ac_cv_libgcrypt" != yes; then
>     AC_MSG_ERROR([[
> --
> 1.6.5.2

Yes, this solves the problem with the missing libgpg-error. Now only
the -lsocket -lnsl issue needs to be resolved :-)


Best regards

   -- Dago



_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@...
http://lists.gnu.org/mailman/listinfo/gnutls-devel

Re: Problem with linking when compiling GNUTLS

by Simon Josefsson-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dagobert Michelsen <dam@...> writes:

>> -  AC_LIB_HAVE_LINKFLAGS(gcrypt,, [#include <gcrypt.h>],
>> +  AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [#include <gcrypt.h>],
>>     [enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128])
>>   if test "$ac_cv_libgcrypt" != yes; then
>>     AC_MSG_ERROR([[
>> --
>> 1.6.5.2
>
> Yes, this solves the problem with the missing libgpg-error. Now only
> the -lsocket -lnsl issue needs to be resolved :-)

Great.  The -lnsl issue could be fixed by using more recent gnulib here.

/Simon


_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@...
http://lists.gnu.org/mailman/listinfo/gnutls-devel

Re: Problem with linking when compiling GNUTLS

by Dagobert Michelsen-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Simon,

Am 05.11.2009 um 16:17 schrieb Simon Josefsson:

> Dagobert Michelsen <dam@...> writes:
>
>>> -  AC_LIB_HAVE_LINKFLAGS(gcrypt,, [#include <gcrypt.h>],
>>> +  AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [#include  
>>> <gcrypt.h>],
>>>    [enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128])
>>>  if test "$ac_cv_libgcrypt" != yes; then
>>>    AC_MSG_ERROR([[
>>> --
>>> 1.6.5.2
>>
>> Yes, this solves the problem with the missing libgpg-error. Now only
>> the -lsocket -lnsl issue needs to be resolved :-)
>
> Great.  The -lnsl issue could be fixed by using more recent gnulib  
> here.

It would be great if you had an updated tarball of the release-to-come
will all known errors fixed so I can verify it.


Best regards

   -- Dago


_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@...
http://lists.gnu.org/mailman/listinfo/gnutls-devel

Re: Problem with linking when compiling GNUTLS

by Simon Josefsson-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Dagobert Michelsen <dam@...> writes:

> Hi Simon,
>
> Am 05.11.2009 um 16:17 schrieb Simon Josefsson:
>> Dagobert Michelsen <dam@...> writes:
>>
>>>> -  AC_LIB_HAVE_LINKFLAGS(gcrypt,, [#include <gcrypt.h>],
>>>> +  AC_LIB_HAVE_LINKFLAGS([gcrypt], [gpg-error], [#include
>>>> <gcrypt.h>],
>>>>    [enum gcry_cipher_algos i = GCRY_CIPHER_CAMELLIA128])
>>>>  if test "$ac_cv_libgcrypt" != yes; then
>>>>    AC_MSG_ERROR([[
>>>> --
>>>> 1.6.5.2
>>>
>>> Yes, this solves the problem with the missing libgpg-error. Now only
>>> the -lsocket -lnsl issue needs to be resolved :-)
>>
>> Great.  The -lnsl issue could be fixed by using more recent gnulib
>> here.
>
> It would be great if you had an updated tarball of the release-to-come
> will all known errors fixed so I can verify it.

Of 2.8.x or 2.9.x?  I'll see if I can push out a 2.9.x release today.

/Simon


_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@...
http://lists.gnu.org/mailman/listinfo/gnutls-devel