gpt4 book ai didi

c - 如何编译 GnuTLS

转载 作者:IT老高 更新时间:2023-10-28 11:13:36 29 4
gpt4 key购买 nike

我试图在 Centos 6.2 上多次编译 GnuTLS 库,但没有成功。这些是步骤:

我下载了 Nettle 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

我运行命令 makemake 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.

我错过了什么?

祝你好运

最佳答案

问题在于 nettle 不会构建 libhogweed,除非如您所见,libgmp 的开发头文件存在。不幸的是,文档和 .configure --help 以及 configure 的输出没有说明这一点。

同时,gnuTLS 文档也没有解释这一点(正如您所注意到的,这里的配置输出不是很有帮助)。尽管 libgmp 被列为 pre-req,但由于某种原因 libhogweed 不是(可能是因为它被假定为 nettle 的一部分)。您的配置错误“找不到 -lgmp”的原因是 libgmp 不存在,但 libhogweed.so 也不存在,因为它是隐藏的可选 荨麻的一部分。如果您随后安装 libgmp-dev 并为 gnutls 运行 configure,您将得到相同的“正在检查 libnettle...否”。这应该说的是“检查 libhogweed...不”,但是负责 conf 脚本的人都懒得打破它(我想可以提交一个补丁)。

换句话说,你需要先安装 libgmp-dev 然后重新构建 nettle,然后再构建 gnutls。

关于c - 如何编译 GnuTLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9508851/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com