glibc交叉编译失败:ld-linux-armhf.so.3: cannot execute binary file

内核编译和嵌入式产品的设计与开发
回复
wtz
帖子: 39
注册时间: 2015-06-27 23:08
系统: Ubuntu Kylin 16.04

glibc交叉编译失败:ld-linux-armhf.so.3: cannot execute binary file

#1

帖子 wtz » 2015-06-27 23:29

本人编译armhf平台上的glibc(2.21)时遇到以下问题:

使用 dpkg-buildpackage -aarmhf -b -us -uc -d 编译&打包时,configure正常,编译一段时间后出现

代码: 全选

make[1]: Entering directory '/home/user/glibc/glibc-2.21/build-tree/armhf-libc'
/usr/bin/make -r PARALLELMFLAGS="" -C /home/user/glibc/glibc-2.21 objdir=`pwd` localedata/install-locales
make[2]: Entering directory '/home/user/glibc/glibc-2.21'
/usr/bin/make  -C localedata install-locales
make[3]: Entering directory '/home/user/glibc/glibc-2.21/localedata'
.././scripts/mkinstalldirs /home/user/glibc/glibc-2.21/build-tree/locales-all/usr/lib/locale
mkdir -p -- /home/user/glibc/glibc-2.21/build-tree/locales-all/usr/lib/locale
aa_DJ.UTF-8.../bin/bash: 行 8: /home/user/glibc/glibc-2.21/build-tree/armhf-libc/elf/ld-linux-armhf.so.3: cannot execute binary file: 可执行文件格式错误
 done

(以下省略N行不同的语种)
......
......

zu_ZA.UTF-8.../bin/bash: 行 8: /home/user/glibc/glibc-2.21/build-tree/armhf-libc/elf/ld-linux-armhf.so.3: cannot execute binary file: 可执行文件格式错误
 done
zu_ZA.ISO-8859-1.../bin/bash: 行 8: /home/user/glibc/glibc-2.21/build-tree/armhf-libc/elf/ld-linux-armhf.so.3: cannot execute binary file: 可执行文件格式错误
 done
make[3]: Leaving directory '/home/user/glibc/glibc-2.21/localedata'
make[2]: Leaving directory '/home/user/glibc/glibc-2.21'
make[1]: Leaving directory '/home/user/glibc/glibc-2.21/build-tree/armhf-libc'
/bin/bash: 行 5: rdfind: 未找到命令
debian/rules.d/build.mk:99: recipe for target '/home/user/glibc/glibc-2.21/stamp-dir/build_libc' failed
make: *** [/home/user/glibc/glibc-2.21/stamp-dir/build_libc] Error 127
dpkg-buildpackage: 错误: debian/rules build 提供错误退出状态 2
看了一下“ld-linux-armhf.so.3”的格式,是arm架构的。
感觉应该是Makefile试图执行安装语言支持的二进制文件,但该文件已经被编译为arm架构,所以安装失败。
请问各位有没有遇到过类似的问题?如何解决的呢?

先谢过。

编译环境:
System: Ubuntu Kylin 15.04 - i386
Cross toolchain: (from debian package)
binutils-arm-linux-gnueabihf
libc6-armhf-cross
linux-libc-dev-armhf-cross
arm-linux-gnueabihf-gcc
Include path: /usr/arm-linux-gnueabihf/include
Lib path: /usr/arm-linux-gnueabihf/lib
回复