I\'m trying to compile GnuTLS library several times on Centos 6.2 but with no luck. These are the steps:
I downloaded Nettle 2.4
[root@localhost opt]# wg
Had this problem on Debian for a while, try installing pkgconf package.
Gnu TLS configure script does not say out loud that pkg-config is needed and other package may not even be tried if pkg-config is not installed. Installing pkg-config fixed the issue for me.
configure:8798: checking for libnettle
configure:8820: gcc -std=gnu99 -o conftest -g -O2 conftest.c /usr/lib/libnettle.so /usr/lib/libhogweed.so -lgmp >&5
/usr/bin/ld: cannot find -lgmp
collect2: ld returned 1 exit status
configure:8820: $? = 1
configure: failed program was:
configure:8830: result: no
configure:8856: error:
***
*** Libnettle 2.4 was not found.
I install gmp-devel. The problem is fixed.
I installed nettle-dev
& nettle-bin
and it works :)
Actually the problem was in configure script, incorrectly invoking the pkg-config
Looks like its due to the version differences in autogen files.
Anyway I fixed it in configure
script.
They invoke pkg-config
with =>
operator but libnettle names itelf incorrectly.
For example, they invoke $PKG_CONFIG --libs "nettle >= 3.4.1" 2>/dev/null
The fix : so I just removed "=> 3.4.1" substring and voila:
if test -n "$NETTLE_CFLAGS"; then
pkg_cv_NETTLE_CFLAGS="$NETTLE_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nettle\""; } >&5
($PKG_CONFIG --exists --print-errors "nettle") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_NETTLE_CFLAGS=`$PKG_CONFIG --cflags "nettle" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
its for CFLAGS and down below for LIBS flag:
if test -n "$NETTLE_LIBS"; then
pkg_cv_NETTLE_LIBS="$NETTLE_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"nettle\""; } >&5
($PKG_CONFIG --exists --print-errors "nettle") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_NETTLE_LIBS=`$PKG_CONFIG --libs "nettle" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes
else
pkg_failed=yes
fi
else
pkg_failed=untried
fi
GnuTLS
depends on nettle
which is missing on your environment.
nettle
package and installcd nettle-xxx
./configure
make
sudo make install
ubuntu
system you can install from apt
sudo apt install nettle-dev nettle-bin