はじめに:
Tensorflowクロスコンパイルプロセスは、あなたが発生する可能性のあるエラーの様々な考えることはできません心のストッパープロセスです。。。、一つの味、唯一の経験豊富な人々が理解することができます。
特別に、すべての問題が発生した今回のまとめとして1を記録し、そして第二に、他の人にいくつかの助けを提供することができます。
本体:
以下は、同じ現象が発生したとして、既知の問題のリストは、今なので、解決策は、次のことができます。
質問1:
症状:
そのようなファイルやディレクトリはありません:EXP( "/ホーム/ジム/ tf2arm / sysroots / x86_64の-linuxの/アーム-poky-のlinux-gnueabi-gccの")を示唆コンパイルプロセス、
分析:
私は、ディレクトリ内のそのディレクトリに存在することができますが、シェルを開いたときに実行されていませんが、同じされています。そのようなファイルやディレクトリを。(クロスコンパイラSDKを使用すると、自分のコンピュータ上の罰金を行うことができ、来る上の他の誰かのコンピュータ(Ubuntuのシステムのバージョン14.04)からコピーされる)、その理由は、能力がコンピュータ上で適切に実行するためのシステムやプラットフォームの違いに起因する可能性がが、それは別のコンピュータ上で実行することはできません。
Baiduは、さまざまな方法を検索します。
1)はchmod 777 -R sysrootsは、実行権限を追加していません
2)須藤は、32ビットシステムのためのLSBコア互換の追加サポートをインストールしないでapt-getを
3)須藤はapt-getを、IA32-LIBSは、32ビットシステム用の互換性のサポートを追加インストールではありません
ソリューション:
他者とSDKが1自分自身を構築すること、ありません生成され、この方法は、以下のリンクを参照することができます:手動でクロスコンパイルSDK i.MX6のシリーズをコンパイル
質問2:
症状:
適切なディレクトリに新しく生成された実行可能パッケージの2つのコピー:
OPT / sysroots / x86_64の-pokysdk-linuxのは/ usr / binに/アーム・ポリのlinux-gnueabi
OPT / sysroots / x86_64の-pokysdk-linuxのは/ usr / libexecに/アーム-poky-linuxの-gnueabi / gccの
再コンパイルbashのbuild_arm_poky.sh
报错:エラー:ターゲットCPUはARMモードをサポートしていません。
分析:
ターゲットチップパラメータを表示:のCortex-M4はARMv7E-M、すなわち-march =のARMv7-、-mtune =皮質-A9対応
あなたは--mcpu =皮質-M3オプションを使用する場合は、-mthumbオプションと一致する必要があります。未解決!
時間によってエラーメッセージ、が見つかりました:-march =のARMv7-Aおよび-march =のARMv7:環境変数は二つのレコードを持っています
ソリューション:
スクリプトを実行します./のconfigure
その他のオプションはありませんが選択され、-marchオプションはのARMv7-缶を使用しています。
質問3:
症状:
cortexa9hf-ネオンpoky-linuxの-gnueabiは/ usr /含める/ GNU / stubs.h:29:7致命的なエラー:GNU /スタブ-soft.h:そのようなファイルやディレクトリはありません
コンパイル終了
分析:
生成されたパッケージファイルを見つけるが、同様のファイルを検索しないコンパイルで:stubs_hard.hを、ファイルの内容が、いくつかのマクロ定義を表示します。
ソリューション:
直接コピーするファイルスタブ-hard.h、スタブ-soft.hに社名変更
質問4:
現象:
extern / ASM / NASM / error.c、error.hを見つけることができません
分析:
ソースコードerror.hを、検索位置にextern / ASM /含まれ、含まれるビルド・パスにつながるべきではありません。
ソリューション:
土壌の比較:現在のパスを見つけ、直接現在のファイルにコピーします。cpは/ error.hが含まれます。
質問5:
LD:ファイルが見つかりません:ctri.o
分析:
現在のソースコードパッケージにはファイルが含まれています
ソリューション:
sudoのはchmod 777 -R sysroots
質問6:
BUILD:bazel:8:1: '' ルールで宣言されていない含める(複数可)
ソリューション:
bazelクリーン--expunge
質問6:
BUILD:tensorflow / WORKSPACE:3:1:名 'http_archive' が定義されていません
分析:
容疑者パッケージは鉛、現在bazel 0.25.2、tensorflow 1.10と互換性がありません
ソリューション:
Tensorflow 1.10は現在Bazelバージョン0.18.1をドロップし、それゆえ、唯一Bazel0.19.2までサポートしています
1。
tensorflow /パイソン/ LIB /コア/ py_func.cc:355:39:エラー: 'のchar *' 'へのconstのchar *' から無効な変換[-fpermissive]
エラーを見つける、戻り値は、界面での(チャー*)に加算されます
6:62:エラー: 'S_IREAD' 宣言されていない(この関数の最初の使用)LIB / egif_lib.c / gif_archive /外部
S_IRUSRを変更するS_IREAD
16:62:エラー: 'S_IWRITE' 宣言されていない(この関数の最初の使用)LIB / egif_lib.c / gif_archive /外部
S_IWUSRにS_IWRITEを変更します
または:定義gif_lib.h
#define S_IREAD S_IRUSR
#define S_IWRITE S_IWUSR
次BUILD.bazelに外部/ gif_archiveで定義されませコンパイラエラーは、原因のAndroidにはないかもしれません
2 \ png_archive /外部/ pngpriv.h:4:911エラー:!#エラーZLIB_VERNUM = PNG_ZLIB_VERNUM "-Iエラー(パスを含め):pngpriv.hでノートを参照してください
#エラーZLIB_VERNUM!= PNG_ZLIB_VERNUM
矛盾のzlibライブラリとのlibpngのバージョン番号
Zlibのバージョンを表示します。
/usr/lib/x86_64-linux-gnu/pkgconfig/zlib.pc:は/ usr / -name zlib.pc検索結果を見つけます
猫/usr/lib/x86_64-linux-gnu/pkgconfig/zlib.pcバージョン情報は、現在のバージョンはバージョンで表示されます。1.2.8
ビューのlibpngのバージョン:
見つけるの/ usr / -nameのlibpng(現在のバージョン1.2)
そして、Zlibの:対応ののlibpngバージョン1.2.8は1.5である必要があり、
libpngをインストールします。
ダウンロード:https://sourceforge.net/projects/libpng/files/
レベル-xzvfのlibpng-Lk5k30ktrkgsh
CDののlibpng-1.5.30.tar.gz
。/構成、設定
チェックを行います
sudoはmake installを
sudoのldconfigを