Comment 17 for bug 1641615

Revision history for this message
Christian Ehrhardt  (paelzer) wrote : Re: FTBFS of libvirt 2.1 in zesty

Taking Yakkety and Zesty being one with and one without the new gnutls.

# Try most basic build as reasonable for debug and a report upstream
$ apt-get install -y ubuntu-dev-tools gdb
$ apt-get -y build-dep libvirt
$ git clone git://libvirt.org/libvirt.git
$ cd libvirt
$ export CFLAGS="-g -O0"
$ CFLAGS="-g -O0" ./autogen.sh
$ CFLAGS="-g -O0" make -j4 V=1
$ CFLAGS="-g -O0" make -j4 check V=1

That confirmed the issue being valid upstream in libvirt.
To bolster that theory I upgraded just gnutls and libtasn1 (for dependency) to the newer version.

# get newer versions and extract locally
$ cd ~
$ wget http://launchpadlibrarian.net/293384593/libgnutls30_3.5.6-4ubuntu1_amd64.deb
$ wget http://launchpadlibrarian.net/278823831/libtasn1-6_4.9-4_amd64.deb
$ mkdir newertls
$ dpkg -x libgnutls30_3.5.6-4ubuntu1_amd64.deb newertls
$ dpkg -x libtasn1-6_4.9-4_amd64.deb newertls

# check newer libs are loaded via LD_LIBRARY_PATH
ldd ./tests/.libs/lt-virnettlssessiontest | grep tls
        libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f5aa1458000)
        libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f5a9ec39000)
LD_LIBRARY_PATH="/root/newertls/usr/lib/x86_64-linux-gnu/" ldd ./tests/.libs/lt-virnettlssessiontest | grep tls
        libgnutls.so.30 => /root/newertls/usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fc42930d000)
        libtasn1.so.6 => /root/newertls/usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fc4290fa000)
        libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007fc426ae4000)

Testing with those on the so far always working Yakkety environment:
$ ./tests/.libs/lt-virnettlssessiontest
TEST: virnettlssessiontest
      ............... 15 OK
$ LD_LIBRARY_PATH="/root/newertls/usr/lib/x86_64-linux-gnu/" ./tests/.libs/lt-virnettlssessiontest
TEST: virnettlssessiontest
      .........!!.!!. 15 FAIL

That is it, so confirmed upstream libvirt issue due to gnutls upgrade to latest bugfix release.
Looking into it with GDB now if I can find a fix or just have to report for now.