0

我一直在尝试在 Mac 上为研究项目编译 FileZilla 版本 3.11 和 3.24,但是当我运行 ../configure 时出现以下错误:

configure: error: libgnutls 3.1.12 greater was not found. You can get it from http://gnutls.org/

但是,我使用自制软件安装了 gnutls;当我跑步时

brew list gnutls

我可以看到安装在 /usr/local/Cellar/gnutls/3.5.8/ 的库

任何解决问题的想法都值得赞赏。谢谢

4

1 回答 1

1

更新的答案

homebrew安装的GNUtls似乎带有一个 pkgconfig 文件。因此,如果您还没有使用pkgconfig ,则需要安装它:

brew install pkgconfig

然后,一旦你有了它,你可以找到编译器包含文件设置:

pkg-config --cflags gnutls

样本输出

-I/usr/local/Cellar/gnutls/3.5.8/include -I/usr/local/Cellar/nettle/3.3/include -I/usr/local/Cellar/libtasn1/4.10/include -I/usr/local/Cellar/p11-kit/0.23.3/include/p11-kit-1

以及链接器库设置:

pkg-config --libs gnutls

样本输出

-L/usr/local/Cellar/gnutls/3.5.8/lib -lgnutls

所以,我们(只是)需要将该信息传达给FileZilla。所以,首先我们运行:

./configure --help | grep -i utls

样本输出

  --enable-gnutlssystemciphers
                          Enables the use of gnutls system ciphers.
  LIBGNUTLS_CFLAGS
              C compiler flags for LIBGNUTLS, overriding pkg-config
  LIBGNUTLS_LIBS
              linker flags for LIBGNUTLS, overriding pkg-config

所以看起来我们需要做类似的事情:

export LIBGNUTLS_CFLAGS=$(pkg-config --cflags gnutls)
export LIBGNUTLS_LIBS=$(pkg-config --libs gnutls)
./configure

原始答案

我没有用FileZilla试过这个,但我用它和其他包一起使用,没有什么可失去的......

如果homebrew已将您的 GNUtls 安装在 中/usr/local/Cellar/gnutls/3.5.8/,您可以尝试告诉FileZilla在您的位置,configure如下所示:

./configure CPPFLAGS="-I/usr/local/Cellar/gnutls/3.5.8/include" LDFLAGS="-L/usr/local/Cellar/gnutls/3.5.8/lib" ... other flags
于 2017-01-27T17:14:22.347 回答