1

gnutls をクロスコンパイルしようとしています。Gnutls は libnettle に依存しています。libnettle をクロス コンパイルできましたが、gnutls をクロス コンパイルしようとすると、configure 中にエラーが発生します。

configure: error:  Libnettle 2.2 was not found. 

私がクロスコンパイルした libnettle のバージョンは 2.2 でした。

設定するコマンドは次のとおりです。

./configure --host=mips --prefix=/home/tom/lib/gnutls-3.0.3 CC=/crosstools/mips-gcc CXX=/crosstools/mips-g++ --enable-shared --with-libnettle-prefix=/home/tom/lib/nettle-2.2

私も試しました:LDFLAGS="-L/home/tom/lib/nettle-2.2"運が悪いと設定します。

ライブラリは /home/tom/lib/nettle-2.2/lib にインストールされます。このディレクトリも試しました。何らかの理由で libnettle が検出されません。理由を知っている人はいますか?

4

1 に答える 1

1

同様の質問と私自身の個人的な経験に基づいて、gnutls はこのチェックを通過するために libnettle と libhogweed の両方を確認する必要があります。nettle ビルドは両方をビルドしますが、システムにGMPライブラリもある場合のみです。

これを機能させるために実行する手順は次のとおりです。

  1. /home/tom/lib/nettle-2.2/lib ディレクトリを調べて、libnettle.so と libhogweed.so の両方があることを確認してください。
  2. libhogweed.so がない場合は、イラクサをGMPで再構築する必要があります。お使いのディストリビューションには、必要な GMP ライブラリをインストールする gmp-devel パッケージが含まれている場合があります (私の場合はそうでしたので、ソースから GMP をビルドしようとはしませんでした)。
  3. これで、gnutls をビルドできるようになるか、少なくとも libnettle のチェックを通過できるはずです。
于 2013-11-14T21:10:48.327 に答える