我是第一次构建poky-linux。我需要秒杀。我在构建期间遇到错误(请参见下文)。
我想bitbake可能正在查看ld的版本并抛出错误。有任何解决方法的想法吗?
| checking if riscv64-poky-linux-gcc --sysroot=/home/user/riscv-poky/build/tmp/work/riscv64-poky-linux/glibc-initial/2.26-r0/recipe-sysroot is sufficient to build libc... yes
| checking for riscv64-poky-linux-nm... riscv64-poky-linux-nm
| checking for python3... python3
| configure: error:
| *** These critical programs are missing or too old: GNU ld
| *** Check the INSTALL file for required versions.
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/user/riscv-poky/build/tmp/work/riscv64-poky-linux/glibc-initial/2.26-r0/temp/log.do_configure.30937)
ERROR: Task (/home/user/riscv-poky/build/../meta/recipes-core/glibc/glibc-initial_2.26.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 201 tasks of which 18 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/user/riscv-poky/build/../meta/recipes-core/glibc/glibc-initial_2.26.bb:do_configure
Summary: There were 2 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
在构建目录中:
file tmp/work/x86_64-linux/binutils-cross-riscv64/2.29-r0/sysroot-destdir/home/user/riscv-poky/build/tmp/work/x86_64-linux/binutils-cross-riscv64/2.29-r0/recipe-sysroot-native/usr/bin/riscv64-poky-linux/riscv64-poky-linux-ld
tmp/work/x86_64-linux/binutils-cross-riscv64/2.29-r0/sysroot-destdir/home/user/riscv-poky/build/tmp/work/x86_64-linux/binutils-cross-riscv64/2.29-r0/recipe-sysroot-native/usr/bin/riscv64-poky-linux/
file riscv64-poky-linux-ld
riscv64-poky-linux-ld: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /home/user/riscv-poky/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=debebc536bc2af4dd35ec0deb333bd32eb85b098, stripped
答案 0 :(得分:0)
我认为这种情况下的解决方案是binutils的ld太新而不是太旧。我正在使用binutils 2.30。我切换到2.25.1,克服了这个错误,但遇到了其他错误。