私の目標は、Android フォンで MPICH を実行することです。Debian Jessie を使用しています。私はこのチュートリアルに従ってそれを達成すると思った : http://hex.ro/wp/projects/personal-cloud-computing/compiling-mpich2-for-android-and-running-on-two-phones/ Buildroot を使用したツールチェーンの作成について このサイトのように、Android NDK から作成することにしました 。 -ndk.html MPICH ライブラリ バージョン 2.1.4、2.1.5、3.0.4 を使用して、次のコマンドを使用して構成しようとしました。
sudo CFLAGS=" -march=armv5 -mfpu=vfp -static "
CC=/home/cerbia/android/bin/arm-linux-androideabi-gcc ./configure
--prefix=/home/cerbia/old --host=arm-linux --with-pm=smpd --disable-f77 --disable-fc
しかし、私はまだこの種のエラーがありました:
configure: エラー: SMPD には MD5 サポートが必要であり、configure は md5.h で md5_calc または openssl/md5.h で MD5 を見つけることができませんでした
それがopensslバージョンに接続されていることがわかり、この指示に従おうとしました:
OpenSSL を NDK ディレクトリにダウンロード、コンパイル、変更、およびインストールします。cd ~ wget www.openssl.org/source/openssl-1.0.0g.tar.gz tar xvzf
openssl-1.0.0g.tar.gz cd openssl-1.0.0g ./config no-asm 共有 --prefix=$ANDROID_ROOT/platforms/android-3/arch-arm/usr
Makefile を編集:
CC= arm-linux-gnueabi-gcc-4.6CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_N -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -fPIC
DEPFLAG= -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_R C5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE
PEX_LIBS=
EX_LIBS= -ldl
EXE_EXT=
ARFLAGS=
AR= arm-linux-gnueabi-ar $(ARFLAGS) r
RANLIB= アーム-linux-gnueabi-ranlib
NM= アーム-linux-gnueabi-nm
PERL=/usr/bin/perl
TAR=タール
TARFLAGS= --再帰なし
MAKEDEPPROG= gcc
LIBDIR=ライブラリ
HIPL の代わりに、以下のような類似の方法で MPICH をクロスコンパイルしようとしました。
HIPL をダウンロードしてクロスコンパイルします。cd ~ bzr co lp:hipl トランク cd トランク edit configure.ac を編集し、すべての AM_CFLAGS autoreconf --install をコメントアウトします
./configure --disable-gcc-warn --disable-firewall -host=arm-linux
CC=arm-linux-gnueabi-gcc-4.6
CPPFLAGS="-I$ANDROID_ROOT/platforms/android-3/arch-arm/usr/include"
CFLAGS="-nostdlib"
LDFLAGS="-Wl,-rpath-link=$ANDROID_ROOT/platforms/android-3/arch-arm/usr/lib,-L$ANDROID_ROOT/platforms/android-3/arch-arm/usr/lib"
LIBS="-lc" make make all-am make[1]: ディレクトリ `/home/mkomu/projects/hipl-bzr/arm' に入ります CC lib/core/builder.lo ファイル内
lib/core/debug.h:34:0 からインクルード、
from lib/core/crypto.h:43, from lib/core/builder.c:100: lib/core/protodefs.h:917:5: error: unknown type name 'in_port_t'
lib/core/protodefs.h:929:5: エラー: 不明な型名 'in_port_t'
lib/core/protodefs.h:1027:5: エラー: 不明な型名 'in_port_t'
lib/core/protodefs.h:1036:5: エラー: 不明な型名 'in_port_t'
lib/core/protodefs.h:1043:5: エラー: 不明な型名 'in_port_t'
lib/core/protodefs.h:1054:5: エラー: 不明な型名 'in_port_t'
lib/core/protodefs.h:1055:5: エラー: 不明な型名 'in_port_t' ...
サイトからのものです:bugs.launchpad.net/hipl/+bug/715126
しかし、そこにいる人と同じエラーが発生しました..
make[8]: Wejście do catalogu `/home/cerbia/old/mpich2-1.3.2/src/mpid/ch3/channels/nemesis/nemesis/netmod/tcp' CC tcp_finalize.c tcp_finalize.c からインクルードされたファイル: 7:0: tcp_impl.h:108:89: エラー: 不明な型名 'in_port_t' make[8]: * [tcp_finalize.o] Błąd 1
それを機能させるために何をすべきかアドバイスはありますか?