ZeroMQ ØMQ 内で CurveCP 機能を動作させたいと思っています。基になる OS として 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
has が#ifndef HAVE_LIBSODIUM
あり、そのプリプロセッサ定義が「no 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