【问题标题】:Run ELF 64-bit LSB executable on Ubuntu 64在 Ubuntu 64 上运行 ELF 64 位 LSB 可执行文件
【发布时间】:2016-05-07 10:05:03
【问题描述】:

我正在尝试运行一个预编译的包(假定为“linux64”),但收到以下错误消息:

t.kuilman@steroid:~/Peeper/bin/netchop-3.1/bin$ ./netChop 
-bash: ./netChop: cannot execute binary file: Exec format error

我检查了这个文件是如何编译的(见下文),结果证明它是一个 ELF 64 位 LSB 可执行文件。

t.kuilman@steroid:~/Peeper/bin/netchop-3.1/bin$ file ./netChop 
./netChop: ELF 64-bit LSB  executable, no machine, version 1 (SYSV), statically linked, for GNU/Linux 2.4.1, for SuSE 9.1, stripped
t.kuilman@steroid:~/Peeper/bin/netchop-3.1/bin$ ldd ./netChop 
    not a dynamic executable
t.kuilman@steroid:~/Peeper/bin/netchop-3.1/bin$ uname -a
Linux steroid 3.13.0-76-generic #120-Ubuntu SMP Mon Jan 18 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

如何让这个文件在我的系统上运行(Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-76-generic x86_64))?

【问题讨论】:

  • 该可执行文件似乎有些奇怪。你能把它上传到某个地方,或者提供前 512 个字节左右的十六进制转储吗?
  • 您能在 VM(VirtualBox)中调出 SuSE 9.1 64 位并在那里试用吗?

标签: linux ubuntu elf


【解决方案1】:

此可执行文件可能已损坏或以某种非标准方式构建:

ELF 64-bit LSB  executable, no machine, version 1 (SYSV) ...

普通的静态链接 Linux 可执行文件应如下所示:

ELF 64-bit LSB  executable, x86-64, version 1 (GNU/Linux)

注意机器(“no machine”与“x86-64”)和 OS ABI(“SYSV”与“GNU/Linux”)的差异。

在任何情况下,除了向软件包的生产者投诉之外,您无能为力

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 2011-02-18
    • 2023-02-14
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多