zoukankan      html  css  js  c++  java
  • Yocto开发笔记之《Tip-应用程序无法在目标机运行》(QQ交流群:519230208)

    官方app编译环境编译的应用程序可以在开发板自带的系统中运行,自己编译并烧写了系统,却提示:

    root@imx6ulevk:/root# ./VTTerminal 
    -sh: ./VTTerminal: No such file or directory

    查看文件信息,发现没有什么错误

    root@imx6ulevk:/root# file VTTerminal
    VTTerminal: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.32, BuildIDd

    tony建议查看下是否缺少相关库,于是我查看依赖:

    root@imx6ulevk:/root# arm-poky-linux-gnueabi-readelf -a VTTerminal | grep "Shared"
     0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
     0x00000001 (NEEDED)                     Shared library: [libc.so.6]

    然后跑到/lib, /usr/lib下查看库是否缺失,答案为否,使用ld debug和strace命令继续追踪

    root@imx6ulevk:~# strace -f -F -o ~/log.txt ./VTTerminal
    
    log文件为
    962   execve("./VTTerminal", ["./VTTerminal"], [/* 15 vars */]) = -1 ENOENT (No
    962   write(2, "strace: exec: No such file or di"..., 40) = 40
    962   exit_group(1)                     = ?
    962   +++ exited with 1 +++

    在自己的image上不能执行的文件属性:

    summer@summer-ThinkPad-X230:/nfsroot/workspace/hello$ file hello
    hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=3801ca19875a1f217a660eab159099fddbd90974, not stripped

    tony提供的可以执行的文件

    summer@summer-ThinkPad-X230:/nfsroot/tonys$ file hello 
    hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=312402ec4e4e472214fbf65068ac3a5ebcb24919, stripped

    最终解决方式如下:

    cp /lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3
    这种情况应该用multi arch来解决比较合适
    Tony 18:54:23
    直接拷贝并不好
    summer 18:55:07
    会引入其他问题对吗
    Tony 18:55:21
    你的环境不统一
  • 相关阅读:
    multiprocessing总结
    CPython在CPU密集型应用下的并发
    多线程交互
    线程等待与守护线程
    Python多线程(1)
    一个简单的单线程异步服务器
    多线程与多进程的实现
    socket的功能分割到不同函数
    数据处理项目Postmortem
    M2 终审
  • 原文地址:https://www.cnblogs.com/alanfang/p/5082353.html
Copyright © 2011-2022 走看看