3

ZMQ バージョン 4.1 以降の編集: Configure は libsodium を自動的に検索するため、これは不要になりました。なんらかの理由で、libsodium を使用せずにビルドしたい場合で、ビルドしてインストールした場合は、「--without-libsodium」を使用して libzmq を構成します。


そのため、libsodium で zeromq をビルド/作成する際に問題が発生しています。

msys2をシェルとして使用しています-具体的にはmingw32_shell-、およびlibsodium 1.0.1およびmingw-w64 32ビット(gcc 4.9.2)を備えたzmq 4.1.0 rc1。

現在、このように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が戻るので、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はlibsodiumを検出しません-しかし、成功しませんでした。

したがって、私の質問は次のとおりです。--with-libsodium、--with-libsodium-include-dir=、--with-libsodium-lib- dir=、または msys2 のシェルが見つけられる場所にそれらを「インストール」しましたか?

4

1 に答える 1

1

あなたが提供したリンクがそれについて言及しているので、あなたはすでにそれを試したと思います:

--with-libsodium=/usr/local

私はこれを試してみましたが、うまくいきました。ただし、MSYS2 の場合、MinGW-w64 ソフトウェアではなく MSYS2 ソフトウェアのみに /usr/local を使用する方がクリーンであるため、これはお勧めしません。MinGW-w64 i686 ソフトウェアの場合、「ローカル」の「正しい」プレフィックスは /mingw32/local です。

zeromq パッケージへの依存関係として libsodium を追加しました。

Github MinGW-w64 zeromq PKGBUILD commit e32ae0

明日、アレクセイに再構築して再パッケージするように依頼します。

于 2014-12-11T01:24:51.987 に答える