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