7

我希望在 ZeroMQ ØMQ 中使用 CurveCP 功能。我使用 CentOS 作为底层操作系统。

下载并运行 ZeroMQ 后,我已经完成了通常的./configure,makesudo make install. 然后运行make check返回了许多测试通过,但声明:

 libsodium not installed, skipping CURVE test

所以sudo yum install libsodiumsudo ldconfig,然后make clean,以及上面的命令。但是下次我运行 时make check,会跳过 CURVE 测试,再次报告没有 libsodium。

查看测试,我看到test_security_curve.cpp#ifndef HAVE_LIBSODIUM,并且预处理器定义似乎正在推动“无 libsodium”跳过。

./configure --with-libsodium根据此页面报告libsodium is not installed

./configure --with-libsodium=/home/eng/work/libsodium-master --with-libsodium-include-dir=/home/eng/work/libsodium-master/src/libsodium/include --with-libsodium-lib-dir=/usr/lib64报告libsodium is not installed

解决方案

为了让它工作,通过 YUM 安装 libsodium 并没有提供一个可用于 zeromq 构建的 libsodium 版本。它需要真正构建的 libsodium,而这又需要最近的 autoconf 副本。

curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
tar xzf autoconf-2.69.tar.gz
cd autoconf-2.69
./configure --prefix=/usr/local
make
sudo make install
sudo ldconfig  
cd ../libsodium-master
./autogen.sh
./configure
make 
sudo make install
cd ../libzmq-master
sudo ./configure --with-libsodium=/home/eng/work/libsodium-master  --with-libsodium-include-dir=/home/eng/work/libsodium-master/src/libsodium/include --with-libsodium-lib-dir=/usr/lib64
sudo make
make check  
sudo make install
4

0 回答 0