【发布时间】:2014-01-31 19:18:44
【问题描述】:
我正在尝试在 linux shell 中运行一个可执行文件(树莓派上的 OpenELEC)
OpenELEC:~ # /storage/fingi/usr/lib/autossh/autossh
-sh: /storage/fingi/usr/lib/autossh/autossh: not found
这种情况下的“未找到”是什么意思?
如果我尝试做 ldd:
OpenELEC:~ # ldd /storage/fingi/usr/lib/autossh/autossh
/usr/bin/ldd: eval: line 1: /storage/fingi/usr/lib/autossh/autossh: not found
如果我做文件:
OpenELEC:~ # file /storage/fingi/usr/lib/autossh/autossh
/storage/fingi/usr/lib/autossh/autossh: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=599207c47d75b62ede5f214f9322ae2a18643eb7, stripped
文件类型格式正确。但它不会工作,也不会给出更多描述性的错误消息。
由于 openELEC 非常严格,我从 raspbmc 安装中复制了 autossh 可执行文件。我也为其他几个可执行文件(屏幕、boost 库等)完成了它,它们工作正常。
谁能提出可能是什么问题?
编辑 1: 正如建议的那样,这是正在运行的可执行文件(也从 raspbmc 复制)上的 file 命令的输出:
OpenELEC:~ # file /storage/fingi/usr/bin/screen
/storage/fingi/usr/bin/screen: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=5c58f047a25caa2c51a81d8285b4f314abc690e7, stripped
【问题讨论】:
-
也许它表明可执行文件的文件类型不是正确的类型,尽管当出现问题时,消息通常不是“未找到”。找到另一个可执行文件(可能是
/bin/sh并比较file报告的类型。 -
已添加。它们完全一样
-
是的,我怀疑这是架构问题..但它适用于所有其他可执行文件!
标签: linux shell raspberry-pi embedded-linux