Subject: Re: bug#19168: undefined references to gnutls_pk_bits_to_sec_param etc

From: Ted Zlatanov <[email-masked]>
Date: Tue, 25 Nov 2014 04:42:37 -0500

On Mon, 24 Nov 2014 18:33:48 +0100 Lars Magne Ingebrigtsen <[email-masked]> wrote: 

LMI> Glenn Morris <[email-masked]> writes:
>> Package: emacs
>> Version: 25.0.50
>> 
>> Current master on RHEL6.6 (or Trisquel 4.1 LTS), which has GnuTLS 2.8.5:
>> 
>> gnutls.c:877: undefined reference to `gnutls_pk_bits_to_sec_param'
>> gnutls.c:877: undefined reference to `gnutls_sec_param_get_name'
>> gnutls.c:888: undefined reference to `gnutls_x509_crt_get_issuer_unique_id'
>> gnutls.c:899: undefined reference to `gnutls_x509_crt_get_subject_unique_id'
>> collect2: ld returned 1 exit status
>> make[1]: *** [temacs] Error 1
>> 
>> configure accepts gnutls >= 2.6.6.

LMI> I implemented this on a machine with Debian Stale, so I thought I
LMI> was safe.  :-)  That's 2.12, apparently.

LMI> Does anybody know whether `gnutls_x509_crt_get_issuer_unique_id' (etc)
LMI> were available under different names in earlier gnutls versions?

LMI> I have to run now, so I won't be able to handle this until tomorrow.  If
LMI> anybody else wants to fix this in the meantime, please do.

I wrote a proposal on emacs-devel to require 3.x.  IMO that's the right
path here.

For instance, `gnutls_x509_crt_get_key_id' was available since 0.9.x but
the issuer and subject unique IDs were not until 2.11.  It's going to be
really annoying to support all those combinations of 2.x and 3.x.  See
http://gitorious.org/gnutls/gnutls/blobs/master/NEWS for the API details.

Ted