我正在尝试为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 :(得分:0)
ltrace依赖于libelf。这意味着您还需要为Android交叉编译libelf,并将ltrace构建指向带有--with-libelf
的交叉编译的libelf。指定--with-libelf=/usr/local
时,您将ltrace构建指向为主机构建的libelf版本。