【问题标题】:Cannot execute binary file on Ubuntu ./webupdater无法在 Ubuntu ./webupdater 上执行二进制文件
【发布时间】:2014-03-29 10:04:27
【问题描述】:
  1. 我已经从这里http://wxcode.sourceforge.net/components/webupdate/ 在 Ubuntu 机器上下载了“GTK2 的预编译示例”。
  2. 我提取了这个,它创建了一个文件夹“simple/v1.0.0”,其中包含可执行文件“webupdater”。
  3. 当我在终端 s5@s5-desktop:~/ble/simple/v1.0.0$ ./webupdater 上运行此命令时 -bash: ./webupdater: 无法执行二进制文件 它说不能执行二进制文件。

Ubuntu机器的配置如下。

s5@s5-desktop:~$ uname -a Linux s5-desktop 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:15:33 UTC 2013 i686 i686 i386 GNU/Linux

请帮忙,为什么会出现这个问题。 感谢致敬 布拉杰什...

【问题讨论】:

  • 这个“webupdater”文件有执行权限吗?您可以通过ls -l webupdater 进行检查。
  • 另外,webupdater 是什么类型的文件? file webupdater 的输出是什么?如果它是 64 位二进制文​​件,它将无法在 32 位系统上运行。或者可能是未安装解释器的脚本(即pythonperlruby 或......?)。

标签: linux ubuntu wxwidgets


【解决方案1】:

可能有很多原因:

  1. 检查文件权限,执行chmod 777 webupdater,然后再次尝试执行,
  2. 通过执行file webupdater检查文件类型并将其与您的系统uname -r进行比较,即两者是32位还是64位。 file webupdater 输出可以为您提供更多信息。

【讨论】:

    【解决方案2】:

    当我执行文件 webupdater 时,它会给出下面给出的输出

    s5@s5-desktop:~/ble/simple/v1.0.0$ 文件 webupdater webupdater:ELF 64 位 LSB 可执行文件,x86-64,版本 1 (SYSV),动态链接(使用共享库),用于 GNU/Linux 2.4.0,已剥离

    Ubuntu系统是32位的

    谢谢, 布拉杰什...

    【讨论】:

      【解决方案3】:

      您运行的是 32 位还是 64 位 Ubuntu? - 用命令检查 tha:

      uname -m
      

      EG:“x86_64”是 64 位,“i686”是 32 位。

      运行文件命令查看可执行文件是什么:

      file /bin/ls
      

      这些线程讨论这个 -

      http://ubuntuforums.org/showthread.php?t=1919786

      https://askubuntu.com/questions/359156/how-do-you-run-a-32-bit-program-on-a-64-bit-version-of-ubuntu

      我在 Ubuntu 14.10 中,它不再具有用于修复此问题的 ia32-libs。 我还没有找到运行未安装的二进制文件的解决方案。 在我的情况下,我将不得不查看在我的系统上编译应用程序,我会尝试反馈给原始开发人员......

      【讨论】:

        猜你喜欢
        • 2014-04-22
        • 1970-01-01
        • 2013-08-04
        • 1970-01-01
        • 1970-01-01
        • 2014-12-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多