为Android构建ltrace

时间:2016-08-16 23:22:11

标签: android android-ndk cross-compiling 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了吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

ltrace依赖于libelf。这意味着您还需要为Android交叉编译libelf,并将ltrace构建指向带有--with-libelf的交叉编译的libelf。指定--with-libelf=/usr/local时,您将ltrace构建指向为主机构建的libelf版本。