[gnutls-help] 2.x 3.x API compatibility

MK mk at cognitivedissonance.ca
Sat Apr 12 16:24:45 CEST 2014


Hi Niko,

I accidentally replied off list last time, but I've put this back on
because it may contain something of use to raspbian users in posterity.

On Wed, 9 Apr 2014 11:29:41 +0200
Nikos Mavrogiannopoulos <nmav at gnutls.org> wrote:

> On Tue, Apr 8, 2014 at 12:25 AM, MK <mk at cognitivedissonance.ca> wrote:
> 
> > make[3]: Entering directory `/usr/local/src/gnutls-3.2.12/src'
> >   CCLD     psktool
> > ../lib/.libs/libgnutls.so: undefined reference to
> > `nettle_umac96_update' ../lib/.libs/libgnutls.so: undefined
> > reference to `nettle_umac96_set_key' ../lib/.libs/libgnutls.so:
> > undefined reference to
> > `nettle_umac128_update' ../lib/.libs/libgnutls.so: undefined
> 
> This is the same issue. You should use ldd to libgnutls.so in order to
> see to which library it is actually linked to.

You're right.  There is of course an older distro version of
nettle installed, but I did not think this would take precedence as,
e.g., `pkg-config --libs nettle` returns `-L/usr/local/lib -lnettle`
and the only version there is 2.7.1, which is why ./configure passed
for gnuTLS 3.2.12 in the first place. But this is obviously unrelated
to the runtime linker path.

I thought that was strange, though (shouldn't /usr/local always take
precedence?) so I checked /etc/ld.so.conf.d and found:

arm-linux-gnueabihf.conf
libc.conf

The former, presumably unique to the raspbian variant of wheezy, would
be processed first in lexicographical order and adds 
/usr/lib/arm-linux-gnueabihf, where the distro nettle is. The latter
contains /usr/local/lib. I renamed these:

10-libc.conf  
20-arm-linux-gnueabihf.conf

Ran ldconfig and presto, 3.2.12 passes make check and make install and
I get a /usr/local/bin/certtool.

MK

-- 
"Enthusiasm is not the enemy of the intellect." (said of Irving Howe)



More information about the Gnutls-help mailing list