elfutilをクロスコンパイルする方法

elfutilをクロスコンパイルする方法

私のシステム(uname --all)

Linux shyamdaramubtnb 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

私の目標

ARM Cortex A7

私はperfARM用のクロスコンパイルツールを使用していますが、後でVMLinuxファイルを読み込む必要がある場合はperfパッケージが必要ですが、elfutilselfutilをクロスコンパイルする方法を提案できる人はいますか?

からダウンロードしたパッケージここ

現在、次の手順に従います。

$ aclocal
$ autoheader
$ autoconf
$ automake --add-missing
$ ./configure --host=arm-none-linux-gnueabi \
--prefix=/home/kwangwoo/tools/arm-2010q1/arm-none-linux-gnueabi/libc/usr/
$ make
$ make install

しかし、./configure の実行中にエラーが発生しました。

./configure: line 5115: syntax error near unexpected token `zlib,ZLIB,z,gzdirect,gzip'
./configure: line 5115: `eu_ZIPLIB(zlib,ZLIB,z,gzdirect,gzip)'

なぜですか?奇妙なことは、ダウンロードしたフォルダにMakefileが見つからないことです。 makeファイルを設定する必要がありますか? ( 、Makefile.inのような文書を見ましたMakefile.am。)

最新開発1:私は注目し始めました協会私の問題についていくつかのトリックがあり、私がやろうとしているのと同じことをしようとしています。

私は無視する前にいくつかの警告を発見し、それが問題の実際の原因であることがわかりました。実行時にaclocal次のエラーが発生しました。

warning: macro AM_PO_SUBDIRS not found in library.

intltool設置して解決することでgettext

実行後にautomake --add-missing警告メッセージが表示されます。

libdwfl/Makefile.am:73: ZLIB does not appear in AM_CONDITIONAL
libdwfl/Makefile.am:76: BZLIB does not appear in AM_CONDITIONAL
libdwfl/Makefile.am:79: LZMA does not appear in AM_CONDITIONAL
tests/Makefile.am:59: BIARCH does not appear in AM_CONDITIONAL
tests/Makefile.am:122: BIARCH does not appear in AM_CONDITIONAL
tests/Makefile.am:135: LZMA does not appear in AM_CONDITIONAL
tests/Makefile.am:139: ZLIB does not appear in AM_CONDITIONAL

リンクで提案したとおりにやり直してみautoreconf -f -iまし automake --add-missingたが、魅力のように動作しました。

その後、実際にはどこでも停止していない上記の./configureを実行しました。一部のi386およびx86_64関連スクリプトを含むMakefileセクションとバックエンド/ Makefileセクションにコメントを追加するなど、いくつかの考えをした場合は解決しました。 elfutils関連のビルド問題の腕のために!

上記のステップで正確に何が起こっているのかを説明できる人はいますか?

答え1

autotoolsスイートは、(理論的には)あらゆる種類のシステムでソフトウェアパッケージの設定とコンパイルを仮想的に自動化するためのスクリプトとツールのフレームワークです。

これは非常に複雑です。

一般的に、最初のステップは構成ソフトウェアをコンパイルするために必要なすべてがシステム上にあることを確認し、そのソフトウェアがどこにあるか(そしてどのバージョンがあるのか​​)わかるようにシステムを構築します。

その後、Makefileベースのビルドシステムが構成され、使用可能になります。

構成スクリプト内でいくつかのエラーが発生し、構成段階で停止したようです。

スクリプトの前に実行するコマンドは、configureクロスコンパイルに必要な場合があるため、通常開発者向けです。

最後に、エラーメッセージはzipライブラリを検出すると停止するようです(スクリプトはリスト表示から選択でき、zipは標準アルゴリズムなのでlibの1つだけを選択できますが満足できないようです)。スクリプトを見つけること)。

ディストリビューションと作業環境を指定していないため、より多くの情報を公開することはできません。

関連情報