64位?32位?32位程序如何在64位linux下运行?

装的是64位Ubuntu12.04,而且刚把内核升到3.2.4,从网上下载了arm-eabi-4.4.3解压后却发现无法运行,运行时提示:No such file or directory

这可就奇怪了,明明是有的,问题提示不存在?仔细想想可能跟我64位系统有关系,查看arm-linux-gcc的信息:

rebi@freedom:~/Downloads/arm-eabi-4.4.3/bin$ file arm-eabi-gcc
arm-eabi-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped

查看系统上其它可运行程序的信息确实与这个不一样:

rebi@freedom:~/Downloads/arm-eabi-4.4.3/bin$ file /bin/mv
/bin/mv: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x0d421df1996b245ce8fd3ff099ec88c8f6c50fec, stripped

怀疑是32位64位的问题搞的鬼。

在网上搜了一下果然是这个原因,当然,在ubuntu下解决这个问题也很简单,只要装上ia32-libs就行了:

sudo apt-get install ia32-libs

看来在这方面linux还是没有windows方便,现在用的64位win7还没遇到过这种问题。


展开阅读全文

没有更多推荐了,返回首页