u-boot /lib/ld-linux-armhf.so.3: 没有该文件或目录。

9

我的电脑是Ubuntu 16.04.3 LTS x86_64系统。 我在编译u-boot-2017.11时出现了错误。

u-boot-2017.11$ export ARCH=arm

u-boot-2017.11$ export CROSS_COMPILE=/opt/toolchains/gcc-linaro-4.9.4-2017.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

u-boot-2017.11$ make geekbox_defconfig
  HOSTCC  scripts/basic/fixdep
/lib/ld-linux-armhf.so.3: No such file or directory
scripts/Makefile.host:99: recipe for target 'scripts/basic/fixdep' failed
make[1]: *** [scripts/basic/fixdep] Error 255
Makefile:399: recipe for target 'scripts_basic' failed
make: *** [scripts_basic] Error 2

我尝试寻找并安装丢失的软件包,但它已经安装好了。

u-boot-2017.11$ dpkg -S ld-linux-armhf.so
libc6-armhf-cross: /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3

u-boot-2017.11$ sudo apt-get install libc6-armhf-cross
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6-armhf-cross is already the newest version (2.23-0ubuntu3cross1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

我该如何修复它?拜托了。

2个回答

7

安装完libc6-armhf-cross后

sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /usr/lib/ld-linux-armhf.so.3 或更新库路径


4

问题在于您没有ARM库,一个快速而有用的解决方案是使用静态编译。例如:

$ arm-linux-gnueabihf-gcc -static -o name program.s
$ qemu-arm name

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接