V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
netalpha
V2EX  ›  Linux

什么情况下,可执行命令就是不能执行?

  •  
  •   netalpha · 2014-10-19 03:26:41 +08:00 · 3586 次点击
    这是一个创建于 3687 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这个问题搞了我一天,分别在ubuntu(x86_64)上执行,怎么都说找不到这条命令。

    sh: /Users/someone/lrb/MITSIMLab/PVM/pvm/bin/LINUX/pvm: cannot execute binary file
    /Users/someone/lrb/MITSIMLab/bin/mitsim: /Users/someone/lrb/MITSIMLab/bin/mitsim: cannot execute binary file
    sh: /Users/someone/lrb/MITSIMLab/PVM/pvm/bin/LINUX/pvm: cannot execute binary file

    然后我从头再我的MacBook又搞了一遍,还是说不能执行。后Google了下,有些人说是因为这个命令是特定平台下编译的,不是所有平台都认。问题来了,怎么知道认不认。以下系统uname -a信息和pvm这个可执行文件的file信息.

    pvm: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped

    Ubuntu:
    Linux LRB 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

    Mac:
    Darwin Someone-MacBook-Pro.local 14.0.0 Darwin Kernel Version 14.0.0: Sat Sep 27 03:58:47 PDT 2014; root:xnu-2782.1.97~11/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin
    2 条回复    2014-10-19 08:30:52 +08:00
    sNullp
        1
    sNullp  
       2014-10-19 03:51:07 +08:00   ❤️ 1
    这是个32位的程序,需要32位的可执行库
    你试试安装下 ia32-libs 试试吧
    jamesxu
        2
    jamesxu  
       2014-10-19 08:30:52 +08:00 via Android
    你在Windows下编译的能在Linux下运行吗?同样,虽然都是类Unix系统,你在 OS X、BSD下编译的也不能直接在Linux下运行,各个平台的二进制文件标准不一样,除非使用交叉编译,但这个比较麻烦,你还是直接把程序在Ubuntu下编译好了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5340 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.