![ARM用GMPとOpenswanのクロスコンパイル[閉じる]](https://linux33.com/image/55117/ARM%E7%94%A8GMP%E3%81%A8Openswan%E3%81%AE%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
OMAP4ボードのクロスコンパイルが必要ですが、opensawn
GMPは前提条件です。最初に64ビットOSで試しましたが、次のエラーが発生しました。
構成:エラー:そうです、mp_limb_tは64ビットですが、この構成のアセンブリコードには32ビットが必要です。
その後、Ubuntu 12.04 32ビットに移動し、いくつかの試みの終わりにGMP V6.0.0をコンパイルしました。 ARCH、TOOLCHAIN、およびCROSS_COMPILER変数がある場合でも、次のことを.bashrc
行う必要があります。export
export ARCH=arm<BR>
export PATH=/home/harsh32bit/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/bin/:$PATH<BR>
export CROSS_COMPILE=arm-none-linux-gnueabi-<BR>
その後、次のコマンドが観察された。
./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi --prefix=/home/harsh32bit/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/
make clean
make
make install
次に、GMPライブラリをツールチェーンにソフトリンクします。
~/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/lib/gcc/arm-none-linux-gnueabi/4.7.3
# ln -s ~/Work/Projects/BSQ_VVDN/packages/gmp-6.0.0/.libs/libgmp.so libgmp.so
make check
報告されたすべてのテストが失敗したにもかかわらず、私は正常にGMPをコンパイルしました。
9 of 9 tests failed.
CROSSCOMPILE.shを変更した後にOpenswan-2.6.41をクロスコンパイルしようとすると、make programs
次のエラーが発生します。
/home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6.41/include/certs.h:24:0 に含まれるファイルの /home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan- 2.6. 41/lib/libopenswan/id.c:42: /home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6.41/include/secrets.h:20:41: 致命的なエラー: gmp.h: そのファイルまたは、ディレクトリコンパイルは終了しません。
クロスコンパイルopenswan
とGMP
。
答え1
まあ、時間がかかるのでUbuntuでクロスコンパイルするよりも直感的にOMAP4ボード自体でコンパイルしようと思っていました。幸いなことに、OMAP4ボードはそのようなコンパイルを実行するのに十分強力です。誰かが理解しているなら、それは良い感じになります。