8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

尝试在 yocto 上构建 core-image-minimal。编译失败,原因是:错误:qemu-native-4.1.0-r0 do_compile:oe_runmake 失败

Gunter Abreu 2月前

138 0

在 poky 上首次尝试编译 core-image-minimal。`Build Configuration:BB_VERSION = \'1.44.0\'BUILD_SYS = \'x86_64-linux\'NATIVELSBSTRING ...

在 poky 上第一次尝试编译 core-image-minimal。


`Build Configuration:
BB_VERSION           = "1.44.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "qemux86-64"
DISTRO               = "poky"
DISTRO_VERSION       = "3.0.4"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta                 
meta-poky            
meta-yocto-bsp       = "<unknown>:<unknown>"`

编译期间出现错误并且编译失败:

`ERROR: qemu-native-4.1.0-r0 do_compile: oe_runmake failed
ERROR: qemu-native-4.1.0-r0 do_compile: Execution of '/home/build/tmp/work/x86_64-linux/qemu-native/4.1.0-r0/temp/run.do_compile.4889' failed with exit code 1:
make[1]: Entering directory '/home/build/tmp/work/x86_64-linux/qemu-native/4.1.0-r0/qemu-4.1.0/slirp'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/build/tmp/work/x86_64-linux/qemu-native/4.1.0-r0/qemu-4.1.0/slirp'
  CXX     disas/nanomips.o
g++: fatal error: Killed signal terminated program cc1plus
compilation terminated.
make: *** [/home/build/tmp/work/x86_64-linux/qemu-native/4.1.0-r0/qemu-4.1.0/rules.mak:94: disas/nanomips.o] Error 1
make: *** Deleting file 'disas/nanomips.o'
WARNING: /home/build/tmp/work/x86_64-linux/qemu-native/4.1.0-r0/temp/run.do_compile.4889:1 exit 1 from 'exit 1'

ERROR: Logfile of failure stored in: /home/build/tmp/work/x86_64-linux/qemu-native/4.1.0-r0/temp/log.do_compile.4889`

**无法找到该问题的适当解决方案。是否存在我需要注意的版本不匹配?

提前致谢。**

我尝试安装 cmake,检查 g++ 版本。没有帮助。

帖子版权声明 1、本帖标题:尝试在 yocto 上构建 core-image-minimal。编译失败,原因是:错误:qemu-native-4.1.0-r0 do_compile:oe_runmake 失败
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Gunter Abreu在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 在同一个系统上很有可能存在多个版本的 glibc(我们每天都这样做)。

    但是,您需要知道 glibc 由许多部分组成(200 多个共享库),所有部分都必须匹配。其中一个部分是 ld-linux.so.2,它 必须与 libc.so.6 匹配,否则您将看到所看到的错误。

    ld-linux.so.2 的绝对路径在链接时被硬编码到可执行文件中,并且在链接完成后不能轻易更改(更新:可以使用 patchelf ;请参阅 答案 )。

    要构建可与新 glibc 一起使用的可执行文件,请执行以下操作:

    g++ main.o -o myapp ... \
       -Wl,--rpath=/path/to/newglibc \
       -Wl,--dynamic-linker=/path/to/newglibc/ld-linux.so.2
    

    链接 -rpath 器选项将使运行时加载器搜索库 /path/to/newglibc (因此您不必 LD_LIBRARY_PATH 在运行它之前进行设置),并且该 -dynamic-linker 选项将“烘焙”路径以更正 ld-linux.so.2 到应用程序中。

    如果您无法重新链接 myapp 应用程序(例如,因为它是第三方二进制文件),则不会丢失所有内容,但会变得更加棘手。一种解决方案是 chroot 为其设置适当的环境。另一种可能性是使用 rtldi 二进制编辑器 .

    更新: 或者您可以在现有二进制文件上使用 patchelf 将它们重定向到备用 libc。

返回
作者最近主题: