在 OSX 上编译 FileZilla

Compiling FileZilla on OSX

我一直在尝试为一个研究项目在 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/

的库

感谢任何解决问题的想法。谢谢

更新答案

似乎 GNUtls,由 homebrew 安装时附带一个 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/usr/local/Cellar/gnutls/3.5.8/ 中安装了你的 GNUtls,你可以尝试告诉 FileZilla 你的 [=20] 中的那个位置=] 像这样:

./configure CPPFLAGS="-I/usr/local/Cellar/gnutls/3.5.8/include" LDFLAGS="-L/usr/local/Cellar/gnutls/3.5.8/lib" ... other flags