我正在尝试在我的OS X Lion上构建GnuTLS-3.x
,这是我的配置命令:
./configure --prefix=/usr/local/gnutls-3.4.9 --with-included-libtasn1 --without-p11-kit
它最终
checking for NETTLE... no
configure: error:
***
*** Libnettle 3.4.1 was not found.
虽然libnettle-3.4.1安装在/usr/local/libnettle-3.4.1
下,其pkg-config
文件libnettle.pc
是在/usr/local/lib/pkgconfig
下定义的(我已经成功地从源代码构建了nettle-4.3.1
(
我已经阅读了堆栈溢出帖子 GnuTLS Libnettle 3.4 没有找到,但它没有一点帮助。互联网上的所有其他帖子也无济于事。
我被困在此错误上。任何帮助,不胜感激。谢谢。
我已经找到了问题的原因。这是错误定义的环境变量PKG_CONFIG
。它仅设置为pkg-config
的安装目录,即/usr/local/pkg-config-0.28
但是,看起来它必须设置为完整路径加上pkg-config
命令本身,例如:/usr/local/pkg-config-0.28/bin/pkg-config
>PKG_CONFIG
应该包括nettle.pc
和hogweed.pc
,在Linux Ubuntu 20.04 x64上的nettle3
版本中,它们没有复制到/usr/lib/pkgconfig/
,所以我必须按如下方式配置gnutls3
:
PKG_CONFIG_PATH="$NETTLE3_ROOT:$PKG_CONFIG_PATH" ./configure --with-included-libtasn1 --with-included-unistring
其中NETTLE3_ROOT
是nettle3
源的路径。