使用libsodium构建libzmq

时间:2014-12-10 11:46:18

标签: windows zeromq configure libsodium msys2

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


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

我使用msys2作为shell - 特别是mingw32_shell - 和zmq 4.1.0 rc1与libsodium 1.0.1和mingw-w64 32bit(gcc 4.9.2)。

我目前能够像这样编译libsodium

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

一切都很好,所有的测试都通过了,libs和include最终都在msys2似乎知道的/ usr / local /文件夹中。

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

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

我从未通过配置阶段,因为configure返回

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 doesn't spot libsodium - 但没有成功。

因此我的问题是:我如何设置zeromq配置的位置以寻找libsodium来发现,无论是使用--with-libsodium, - with-libsodium-include-dir =和--with-libsodium -lib-dir =,或者将它们“安装”在msys2的shell能够找到的位置?

1 个答案:

答案 0 :(得分:1)

我认为你已经尝试过,因为你提供的链接提到了它:

--with-libsodium=/usr/local

我试过这个,它对我有用。但是,我不建议这样做,因为对于MSYS2,如果/ usr / local仅用于MSYS2软件,而不是MinGW-w64软件则更清晰。对于MinGW-w64 i686软件,正确的'本地'的前缀是/ mingw32 / local

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

Github MinGW-w64 zeromq PKGBUILD commit e32ae0

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