我遇到了同样的问题,这就是我想出的答案
$ ~/opt/Linux-3.11.0-i686/svn/bin/svn --version
-bash: /home/fennellb/opt/Linux-3.11.0-i686/svn/bin/svn: cannot execute binary file
$ file ~/opt/Linux-3.11.0-i686/svn/bin/svn
/home/fennellb/opt/Linux-3.11.0-i686/svn/bin/svn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, BuildID[sha1]=0x6b38ac5ac15af4334712b9bacc6646cabaefde9a, not stripped
$ find /bin /usr/bin -maxdepth 1 -type f -print0 |
xargs -0 file |
awk 'BEGIN {c32=0;c64=0}
/ELF 64-bit/ {c64++}
/ELF 32-bit/ {c32++}
END {print "ELF 32-bit count "c32;
print "ELF 64-bit count "c64}'
ELF 32-bit count 1639
ELF 64-bit count 0
嗯……这就解释了!
可能的解决方案:检查您的 CPU 是否支持 64 位 Linux:
$ cat /proc/cpuinfo | egrep '^(model name|cpu MH|vend)'
cpu MHz : 1200.000
model name : Intel(R) Pentium(R) Dual CPU E2140 @ 1.60GHz
vendor_id : GenuineIntel
(然后谷歌确切的 CPU 名称以找到它的规格)
然后升级到 64 位 Linux(如果可以的话) -下载 Ubuntu 桌面
在 32 位 Linux 上运行 64 位代码的一种替代方法是使用真正的 cpu 仿真器,如 qemu/bochs - Bochs - OSDev Wiki - 与 64 位 Linux 映像(或 xen 等 VM,如果您的 CPU 支持它)。
另一种是要求您的软件提供商重新编译为 32 位。
(对我来说,我将从源代码重新编译。)