ZeroMQ没有发现libsodium

Chr*_*sky 7 zeromq libsodium

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

下载并运行ZeroMQ后,我已经完成了常规操作./configure,make并且sudo make install.然后跑步make check返回了许多测试通行证,但声明:

 libsodium not installed, skipping CURVE test
Run Code Online (Sandbox Code Playgroud)

所以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
Run Code Online (Sandbox Code Playgroud)