I've been trying to compile the GnuTLS package from source, as part of a BLFS (Linux From Scratch) system. Here is the LFS page for it.
I have installed all of the required and recommended packages that are listed on that page; however, when I ran
./configure at the top of the source tree for GnuTLS, according to the script output, it didn't seem to find several of those packages, for example valgrind, libunistring, libtasn1.
So, I am just wondering what is the best way to troubleshoot this, if a configure script doesn't seem to work correctly? I had a look at
config.log, but that didn't seem very helpful (at least in the case of valgrind). I also tried to have a look through the configure script itself, but it's a 40,000+ line monster.
Ok, I think I've been a bit silly and misunderstood the configure script. The configure summary said this:
configure: summary of build options: version: 3.5.14 shared 44:6:14 Host/Target system: x86_64-pc-linux-gnu Build system: x86_64-pc-linux-gnu Install prefix: /usr Compiler: gcc Valgrind: no CFlags: -g -O2 Library types: Shared=yes, Static=no Local libopts: yes Local libtasn1: no Local unistring: no Use nettle-mini: no Documentation: yes (manpages: yes)
Which I took to mean that it hadn't found those packages (I interpreted 'Local' as meaning 'on my computer'). However, searching in more detail through the output, I found these:
checking for LIBTASN1... yes checking whether to use the included minitasn1... no checking for libunistring... yes checking how to link with libunistring... /usr/lib/libunistring.so
It seems that it did actually find those packages, and 'Local' in the summary must have been referring to GnuTLS' own built-in version of those libraries. It was a bit confusing, but it makes sense now. For valgrind, I see this:
checking for valgrind... valgrind checking whether self tests are run under valgrind... no
So, again it seems to have found it, although it doesn't seem to want to use it for the self tests, for some reason.
Anyway, I'll go ahead and build it and see if it tests ok.