tags 405239 - patch thanks On 2007-01-02 Nathanael Nerode <[EMAIL PROTECTED]> wrote: > Package: libgnutls13 > Version: 1.4.4-3 > Severity: normal > Tags: patch
> gnutls appears to have an unnecessary dependency on libgpg-error; > gnutls does not appear to use anything from libgpg-error directly. [...] > I believe this (untested) patch should do the trick; the dependency > is dragged in by the ill-behaved libgcrypt-config. (It may in fact > be dragged in by something else too, but this is a start.) [...] > --- m4/libgcrypt.m4 2004-07-28 06:28:48.000000000 -0400 > +++ m4/libgcrypt.m4.new 2007-01-01 21:01:00.000000000 -0500 > @@ -96,7 +96,7 @@ > fi > if test $ok = yes; then > LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` > - LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` > + LIBGCRYPT_LIBS="-lgcrypt" > ifelse([$2], , :, [$2]) > else > LIBGCRYPT_CFLAGS="" Hello, the patch does not work (at least for 1.6.x), gcrypt has been changed (SID)[EMAIL PROTECTED]:~$ libgcrypt-config --libs -lgcrypt which should have the same effect as the patch. However gnutls is still linked (unnecesarily ) against gpg-error. I am not sure but I think libtool (1.5.22 Debian 1.5.22-4) or the automake Makefiles are to blame. gnutls builds a temporary shared object (noinst_LTLIBRARIES = liblgnu.la) which is linked against libgcrypt (liblgnu_la_LDFLAGS += $(LTLIBGCRYPT)) and lateron the library is linked against this shared object (libgnutls_la_LIBADD = ../lgl/liblgnu.la [...]) and suddenly libgpg-eror is pulled in. The respective object is this one: gnutls13-1.6.1/lgl/liblgnu.la, it is built by this command-line: /bin/bash ../libtool --tag=CC --mode=link cc -g -Wall -O2 -D_REENTRANT -D_THREAD_SAFE -Wno-pointer-sign -pipe -lgcrypt -o liblgnu.la dummy.lo asnprintf.lo gc-libgcrypt.lo gc-pbkdf2-sha1.lo md2.lo printf-args.lo printf-parse.lo read-file.lo vasnprintf.lo and later on this one links the actual library: SID)[EMAIL PROTECTED]:/tmp/GNUTLS/gnutls13-1.6.1/lib$ /bin/bash ../libtool --tag=CC --mode=link cc -g -Wall -O2 -D_REENTRANT -D_THREAD_SAFE -Wno-pointer-sign -pipe -no-undefined -version-info 15:2:2 -Wl,--version-script=./libgnutls.vers -L/usr/lib -ltasn1 -o libgnutls.la -rpath /usr/lib gnutls_record.lo [...] auth_dhe_psk.lo ../lgl/liblgnu.la x509/libgnutls_x509.la -L/usr/lib -lz -lgcrypt Removing "-lgcrypt" from the first commandline stops libtool from filling dependency_libs in liblgnu.la and the second commandline does not cause libtool to link the final libgnutls against libgcrypt's dependency libs. cu andreas -- `What a good friend you are to him, Dr. Maturin. His other friends are so grateful to you.' `I sew his ears on from time to time, sure' -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

