Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
netalpha
V2EX  ›  Linux

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

  •  
  •   netalpha · Oct 19, 2014 · 4229 views
    This topic created in 4224 days ago, the information mentioned may be changed or developed.
    这个问题搞了我一天,分别在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 replies    2014-10-19 08:30:52 +08:00
    sNullp
        1
    sNullp  
       Oct 19, 2014   ❤️ 1
    这是个32位的程序,需要32位的可执行库
    你试试安装下 ia32-libs 试试吧
    jwk345
        2
    jwk345  
       Oct 19, 2014 via Android
    你在Windows下编译的能在Linux下运行吗?同样,虽然都是类Unix系统,你在 OS X、BSD下编译的也不能直接在Linux下运行,各个平台的二进制文件标准不一样,除非使用交叉编译,但这个比较麻烦,你还是直接把程序在Ubuntu下编译好了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5898 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 02:39 · PVG 10:39 · LAX 19:39 · JFK 22:39
    ♥ Do have faith in what you're doing.