ソフトウェア移行のクロスコンパイル

ストリップ:入力ファイルの形式を認識できません

'make install'の実行中にエラーが発生することがあります:
strip:入力ファイルの形式を認識できません

これは、ファイルconfig.makのフラグ "INSTALLSTRIP = -s"が、 "makeinstall
'の実行中に' install 'アプリケーションに渡されるためです。 install "..........
フラグ" INSTALLSTRIP = "を無効にして、installを作成します。; 0)

またはフラグ" INSTALL = $ your_arm_install_application "を編集します

PS; ==============================================
一般的な発生クロスコンパイル中。
インストール中のインストールプログラムはフラグINSTALLSTRIP = -s ----を検出するため、
ストリップを実行して不要なシンボルを削除する必要があります現時点では、stripはホストマシンのみであるため、
ターゲットマシンのファイルを削除することはできません。

 

===簡単に言えば、クロスコンパイルするときは、ストリップorz365から-sを削除します。

hy:または、ストリップをターゲットマシンのストリップに変更します。

 

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------------

Linuxでの構成オプション構成パラメーターの詳細な説明

Linux環境でのソフトウェアのインストールは簡単な作業ではありません。ソースコードからコンパイルした後にインストールする場合、もちろん問題はより複雑になります。現在、さまざまなソフトウェアをインストールするためのチュートリアルは非常に一般的ですが、それは切り離せません。基本的な知識をしっかりと把握し、さまざまなソフトウェアのインストールの問題を解決します。スクリプト構成ツールの構成は基盤の1つであり、autoconfツールの基本的なアプリケーションです。

いくつかのスキルと比較すると、構成はより基本的であるように見えます。もちろん、使用して学ぶのは少し退屈です。もちろん、マスターになる必要があり、基本的な知識を超えることはできません。

このため、オプション構成の構成に関する詳細な紹介を転載しました。参考までに、「configure」スクリプトには多数のコマンドラインオプションがあります。ソフトウェアパッケージが異なれば、これらのオプションは変わる可能性がありますが、多くの基本的なオプションは変わりません。「configure」を「--help」オプションとともに実行します。スクリプトは使用可能なすべてのオプションを確認できます。多くのオプションが使用されることはめったにありませんが、特別なニーズに合わせてパッケージを構成する場合は、それらの存在を知っておくと便利です。

各オプションの簡単な紹介を以下に示します。

--Cache-file = FILE'configure
'は、システム上の既存の機能(またはバグ!)をテストします。後続の構成を高速化するために、テストの結果はキャッシュファイルに保存されます。各サブツリーに1つ構成する場合'configure'スクリプトを含む複雑なソースツリーがある場合、適切なキャッシュファイルの存在が大いに役立ちます。

--Helpは
ヘルプ情報を出力します。複雑なプロジェクトには追加のオプションが含まれるため、経験豊富なユーザーでも「--help」オプションを使用する必要がある場合があります。たとえば、GCCパッケージの「configure」スクリプトには次のことができるスクリプトが含まれています。制御GCCでGNUアセンブラオプションを生成して使用するかどうか。

--no-create'configure
'の主な関数の1つは、出力ファイルを作成します。このオプションは、' configure 'がこのファイルを生成しないようにします。キャッシュはまだ書き換えられていますが、これはドライランと考えることができます。

--quiet --silent
When'configureは

「そのテストを行い、その出力、それが何をしているかをユーザーに伝えるために簡単なメッセージをでしょう。これはbecause'configureある」遅くなることがあり、そしてユーザーはこの出力間違いなく脇にスローされますこれらの2つのオプションのいずれかを使用すると、脇に捨てられます(注釈:これらの2つの文はより興味深いですが、元の文は次のとおりです:そのような出力がなかった場合、ユーザーは何が起こっているのか疑問に思うでしょう。このオプション、あなたも疑問に思うままにすることができます!)

--Version
「configure」スクリプトの生成に使用されるAutoconfのバージョン番号を出力します。

--Prefix = preFIX(ファイルインストールの場所)
' -prefix 'が最も一般的に使用されるオプションです。作成された' Makefile 'は、このオプションで渡されたパラメーターを表示し、パッケージがインストールされると、その構造を完全に再配置できます。個別にパート。たとえば、Emacsなどのパッケージをインストールする場合、次のコマンドを実行すると、EmacsLispファイルが「/ opt / gnu / share」にインストールされます。
$。/ configure --prefix = / opt / gnu / share

--Exec-prefix = EPREFIXは
--prefix」オプションに似ていますが、構造に依存するファイルのインストール場所を設定するために使用されます。コンパイルされた「emacs」バイナリファイルはそのようなファイルです。このオプションが設定されていません。デフォルトで使用されます。のオプション値は、「-prefix」オプション値と同じに設定されます。

--Bindir = DIR
は、バイナリファイルのインストール場所を指定します。ここでのバイナリファイルは、ユーザーが直接実行できるプログラムとして定義されています。

--Sbindir = DIR
は、スーパーバイナリファイルのインストール場所を指定します。これらは、スーパーユーザーのみが実行できるプログラムです。

--Libexecdir = DIR(パッケージディレクトリ、プログラム呼び出し)
は、実行可能サポートファイルのインストール場所を指定します。バイナリファイルとは異なり、これらのファイルはユーザーが直接実行することはありませんが、上記のバイナリファイルで実行できます。

--Datadir = DIR
は、一般的なデータファイルのインストール場所を指定します。

--Sysconfdir = DIR(/ etc構成ファイルディレクトリ)
は、単一のマシンで使用される読み取り専用データのインストール場所を指定します。

--Sharedstatedir = DIR
は、複数のマシンで共有できる書き込み可能なデータのインストール場所を指定します。

--Localstatedir = DIR
は、単一のマシンでのみ使用できる書き込み可能なデータのインストール場所を指定します。

--Libdir = DIR(ライブラリファイルディレクトリ)
は、ライブラリファイルのインストール場所を指定します。

--Includedir = DIR
は、Cヘッダーファイルのインストール場所を指定します。C++ヘッダーファイルなどの他の言語でもこのオプションを使用できます。

--Oldincludedir = DIR
は、GCC以外のコンパイラによってインストールされるCヘッダーファイルのインストール場所を指定します。

--Infodir = DIR
は、Info形式のドキュメントのインストール場所を指定します。Infoは、GNUプロジェクトで使用されるドキュメント形式です。

--Mandir = DIR(ヘルプドキュメントのインストールディレクトリ)
は、マニュアルページのインストール場所を指定します。

--Srcdir = DIR
このオプションはインストールに影響を与えません。「configure」ソースコードの場所を示します。「configure」スクリプトは通常、「configure」スクリプトに含まれているため、通常、このオプションを指定する必要はありません。ソースファイルと同じディレクトリ。

--Program-prefix = PREFIX
は、インストールされたプログラムの名前に追加されるプレフィックスを指定します。たとえば、「-program-prefix = g」を使用して「tar」という名前のプログラムを構成すると、インストールされたプログラムは次のようになります。 「gtar」という名前。他のインストールオプションと一緒に使用すると、このオプションは「Makefile.in」ファイルで使用されている場合にのみ機能します。

--Program-suffix = SUFFIX
は、インストールされたプログラムの名前に追加されるサフィックスを指定します

--Program-transform-name = PROGRAM
ここで、PROGRAMはsedスクリプトです。プログラムがインストールされると、その名前は `sed -e PROGRAM 'を経由して、インストールされた名前を生成します。

--Build = BUILD
パッケージがインストールされているシステムプラットフォームを指定します。指定しない場合、デフォルト値は「--host」オプションの値になります。

--Host = HOST
は、ソフトウェアが実行されるシステムプラットフォームを指定します。指定されていない場合は、 `config.guess 'を実行して検出します。

--Target = GARGET
は、ソフトウェアの対象となるシステムプラットフォームを指定します。これは主に、コンパイラやアセンブラなどのプログラミング言語ツールのコンテキストで機能します。指定しない場合、「-host」オプションの値はによって使用されます。デフォルト。

--Disable-FEATURE
一部のソフトウェアパッケージは、このオプションを選択して、Kerberos認証システムや実験的なコンパイラ最適構成の使用など、大きなオプションのコンパイル時構成を提供できます。これらの機能がデフォルトで提供されている場合は、「-」を使用できます。 disable- FEATURE 'を使用して無効にします。ここで、' FEATURE 'は機能の名前です。例:

$ ./configure –disable-gui

-enable-FEATURE [= ARG](システムパラメータの設定、コンパイル時に完了)
逆に、一部のソフトウェアパッケージは、デフォルトで無効になっている機能を提供する場合があります。「-enable-FEATURE」を使用して有効にできます。 「FEATURE」は機能の名前です。機能はオプションのパラメータを受け入れる場合があります。例:

$ ./configure –enable-buffers = 128


`--enable-FEATURE = no 'は、上記の' --disable-FEATURE 'と同義です。

--With-PACKAGE [= ARG]
フリーソフトウェアコミュニティでは、既存のパッケージとライブラリを使用するという優れた伝統があります。「configure」を使用してソースツリーを構成する場合、インストールされている他のパッケージに関する情報を提供できます。たとえば、 TclおよびTkのBLTデバイスキットに依存します。BLTを構成するには、TclおよびTkをインストールした場所に関する情報を「configure」に提供する必要がある場合があります。

コードは次のように表示されます。

$ ./configure --with-tcl = / usr / local --with-tk = / usr / local
'-with-PACKAGE = no'は、以下で説明する '--without-PACKAGE'と同義です。

--Without-PACKAGE
ソフトウェアパッケージがシステム上の既存のソフトウェア
パッケージと相互作用したくない場合があります。たとえば、新しいコンパイラでGNUldを使用したくない場合があります。これは次のオプションを使用して行うことができます。

$ ./configure –without-gnu-ld

--X-includes = DIR
このオプションは、「-with-PACKAGE」オプションの特殊なケースです。Autoconfが最初に開発されたとき、Xで実行されるソフトウェアを作成するための回避策として「configure」を使用するのが一般的でした。 .'--「x-includes」オプションは、X11ヘッダーファイルを含むディレクトリを「configure」スクリプトに指定する方法を提供します。

--x-libraries = DIR
と同様に、「-x-libraries」オプションは、X11ライブラリを含むディレクトリを「configure」スクリプトに指定する方法を提供します。

 

ソースツリー、ビルドツリー、インストールツリーの3つのツリーを使用することをお勧めします。

例として、このメソッドを使用してGNUmallocパッケージをビルドします。

コードは次のように表示されます。

$ gtar zxf mmalloc-1.0.tar.gz
$ mkdir build && cd build
$ ../mmalloc-1.0/configure
作成キャッシュ./config.cachegccの
チェック… gccC
コンパイラ(gcc)が機能
するかどうかのチェック…はいかどうかのチェックCコンパイラ(gcc)はクロスコンパイラです
…GNUCを使用しているかどうかをチェックしません…はい
gccが-gを受け入れるかどうかを
チェックします…はいBSD互換のインストールをチェックします…/ usr / bin / install-c
ホストシステムタイプをチェックします… i586-pc-linux-gnu
ビルドシステムタイプのチェック…i586-pc-linux-gnuarの
チェック
…arranlibの
チェック…ranlibCプリプロセッサの実行方法のチェック…gcc-Eunistd.hの
チェック…はい
getpagesizeのチェック… はい
動作中のmmapをチェックしています…はい
limits.hを
チェックしています…はいstddef.hをチェックしています…はい
キャッシュを更新しています../config.cache
作成中./config.status


このようにして、構築ツリーが構成され、このパッケージの構築とデフォルトの場所「/ usr / local」へのインストールを続行できます。

$ make all && make install

おすすめ

転載: blog.csdn.net/u014426028/article/details/110627851