1

我正在尝试交叉编译 gnutls。Gnutls 依赖于 libnettle。我能够交叉编译 libnettle,但是,在尝试交叉编译 gnutls 时,我在配置过程中遇到错误:

configure: error:  Libnettle 2.2 was not found. 

我交叉编译的 libnettle 版本是 2.2。

配置命令是:

./configure --host=mips --prefix=/home/tom/lib/gnutls-3.0.3 CC=/crosstools/mips-gcc CXX=/crosstools/mips-g++ --enable-shared --with-libnettle-prefix=/home/tom/lib/nettle-2.2

我也试过:配置LDFLAGS="-L/home/tom/lib/nettle-2.2"没有运气。

这些库安装在 /home/tom/lib/nettle-2.2/lib 中。我也试过这个目录。由于某种原因,libnettle 没有被检测到。有谁知道为什么?

4

1 回答 1

1

基于类似的问题和我自己的个人经验,gnutls 需要同时查看 libnettle 和 libhogweed 才能通过此检查。荨麻构建将构建两者,但前提是您的系统上也有GMP库。

以下是执行此操作的一些步骤:

  1. 检查您的 /home/tom/lib/nettle-2.2/lib 目录并确保您同时拥有 libnettle.so 和 libhogweed.so。
  2. 如果您没有 libhogweed.so,则必须使用GMP重建荨麻。你的发行版可能有一个 gmp-devel 包,它将安装必要的 GMP 库(我的有,所以我没有尝试从源代码构建 GMP)
  3. 然后,您应该能够构建 gnutls,或者至少可以通过 libnettle 的检查。
于 2013-11-14T21:10:48.327 回答