我尝试在 Centos 6.2 上多次编译 GnuTLS 库,但没有成功。这些是步骤:
我下载了荨麻2.4
[root@localhost opt]# wget http://www.lysator.liu.se/~nisse/archive/nettle-2.4.tar.gz
[root@localhost nettle-2.4]# tar zxvf nettle-2.4.tar.gz
[root@localhost nettle-2.4]# cd nettle-2.4
[root@localhost nettle-2.4]# ./configure --enable-shared --prefix=/usr
Version: nettle 2.4
Host type: x86_64-unknown-linux-gnu
ABI: 64
Assembly files: x86_64
Install prefix: /usr
Library directory: ${exec_prefix}/lib64
Compiler: gcc
Shared libraries: yes
Public key crypto: no
我运行命令make
and make install
我下载了最新的 GnuTLS
./configure --with-libnettle-prefix=/usr
hecking for shared library run path origin... done
checking whether to use nettle... yes
checking for libnettle... no
configure: error:
***
*** Libnettle 2.4 was not found.
我缺少什么?
最好的祝愿
问题是荨麻不会生长libhogweed
除非,正如您所观察到的,libgmp 的开发标头存在。不幸的是,文档和.configure --help
配置的输出没有说明这一点。
同时,gnuTLS 文档也没有解释这一点(正如您所注意到的,它的配置输出在这里不是很有帮助)。尽管 libgmp 被列为先决条件,但由于某种原因 libhogweed 没有被列为先决条件(可能是因为它被认为是荨麻的一部分)。配置错误“cannot find -lgmp”的原因是 libgmp 不存在,但是libhogweed.so
也不会在那里,因为它是隐藏的optional荨麻的一部分。如果您随后安装 libgmp-dev 并运行 gnutls 配置,您将得到相同的“正在检查 libnettle...否”。这应该说的是“检查 libhogweed...不”,但无论谁负责conf脚本都懒得打破它(我想可以提交补丁)。
也就是说,你需要安装libgmp-dev然后重建荨麻在构建 gnutls 之前。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)