2016-08-16 5 views
0

Androidのltraceを構築しようとしています。その後、Androidのltraceの作成

export SYS_ROOT="/home/pedro/Android/Sdk/ndk-bundle/platforms/android-19/arch-x86" 
    export CC="/home/pedro/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-gcc --sysroot=$SYS_ROOT" 
    export PATH="/home/pedro/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/:$PATH" 

と:: 私は、これらのコマンドに続いてきた

./configure --host=i686-linux 

をしかし、私はこのエラーを受信しました:

checking gelf.h usability... no 
    checking gelf.h presence... no 
    checking for gelf.h... no 
    configure: error: *** libelf.h or gelf.h not found on your system 

私も試してみた:

./configure --host=i686-linux --with-libelf=/usr/local 

受け取りました:

checking gelf.h usability... no 
    checking gelf.h presence... yes 
    checking for gelf.h... no 
    configure: error: *** libelf.h or gelf.h not found on your system 

私はここ ltrace for Android build 似た/同じ問題を発見したが、誰も答えていない、それは数ヶ月前、私は再び質問をなされたからです。私は問題がないことを願っています。 誰でもこの問題や別の方法で私を助けることができるので、私はAndroid用のltraceを構築できますか? ありがとうございます。

+0

こんにちは。スタックオーバーフローへようこそ。あなたは新しい質問を作成するべきではなく、疑問を持って投票してください。 – Tibrogargan

+0

ああ...すみません。私はコメントしようとしましたが、評判が50でないのでできませんでしたので、これが唯一の方法だと思いました。申し訳ありません –

答えて

0

ltraceはlibelfに依存しています。つまり、Android用にlibelfをクロスコンパイルし、ltraceビルドを--with-libelfのクロスコンパイル済みlibelfに指定する必要があります。 --with-libelf=/usr/localと指定すると、ltraceビルドがホストマシン向けにビルドされたlibelfのバージョンになっています。

+0

私はそれを試みましたが、それは私のために動作しませんでした。以前と同じエラーが出ました。何か案が? –

+0

これは動作するにはクロスコンパイルされたlibelfが絶対的に必要なので、間違ってパスを渡すか、configureスクリプトに根本的な問題があると思います。 configureコードを見て、必要に応じていくつかのprintステートメントを追加することで、何がうまくいかないかを知ることができます。残念ながら、私は構成上の問題をデバッグするためのより良い方法を知らない。 –

関連する問題