3

从 ZMQ 版本 4.1 开始编辑:Configure 自动查找 libsodium,因此不再需要。如果由于某种原因您希望在没有 libsodium 的情况下构建它并且您已经构建并安装了它,请使用“--without-libsodium”配置 libzmq。


所以我在使用 libsodium 构建/制作 zeromq 时遇到问题。

我使用 msys2 作为外壳 - 特别是 mingw32_shell - 和带有 libsodium 1.0.1 和 mingw-w64 32bit (gcc 4.9.2) 的 zmq 4.1.0 rc1。

我目前能够像这样编译 libsodium

cd .../libsodium
bash configure
make
make check
make install

一切都很好,所有的测试都通过了,并且库和包含最终出现在 msys2 似乎知道的 /usr/local/ 文件夹中。

然后当我尝试使用这些命令构建 zeromq

cd .../zeromq
bash configure --with-libsodium
make
make check
make install

我永远不会超过配置阶段,因为配置返回

checking for sodium_init in -lsodium... no
configure: error: libsodium is not installed.  Install it or don't pass --with-libsodium to configure script

我已经尝试过这篇文章中建议的方法——ZeroMQ 没有发现 libsodium——但没有成功。

因此我的问题是:我如何设置 zeromq 的配置位置以查找要发现的 libsodium,无论是使用 --with-libsodium、--with-libsodium-include-dir= 还是 --with-libsodium-lib- dir=,还是将它们“安装”在 msys2 的外壳能够找到的位置?

4

1 回答 1

1

我假设您已经尝试过,因为您提供的链接提到了它:

--with-libsodium=/usr/local

我试过这个,它对我有用。但是,我不推荐这样做,因为对于 MSYS2,如果 /usr/local 仅用于 MSYS2 软件,而不是 MinGW-w64 软件,它会更干净。对于 MinGW-w64 i686 软件,'local' 的'right' 前缀是 /mingw32/local

我刚刚添加了 libsodium 作为对 zeromq 包的依赖项。

Github MinGW-w64 zeromq PKGBUILD 提交 e32ae0

明天我会要求 Alexey 重建并重新打包它。

于 2014-12-11T01:24:51.987 回答