我希望在ZeroMQØMQ中使用CurveCP功能。我正在使用CentOS作为底层操作系统。
下载并运行ZeroMQ后,我完成了通常的./configure
,make
和sudo make install
。然后运行make check
返回了许多测试通过,但声明:
libsodium not installed, skipping CURVE test
所以sudo yum install libsodium
和sudo ldconfig
,然后是make clean
,以及上面的命令。但是下次我运行make check
时,会跳过CURVE测试,再次报告没有libsodium。
看一下测试,我看到test_security_curve.cpp
有#ifndef HAVE_LIBSODIUM
,并且预处理器定义似乎正在推动'无libsodium'跳过。
./configure --with-libsodium
根据this page报告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