Tensorflowクロスコンパイラエラーを手動でクロスコンパイルSDKのi.MX6シリーズのハイライトをコンパイル

はじめに:

       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を

 

おすすめ

転載: www.cnblogs.com/jimchen1218/p/11611975.html