第一次发帖,但我经常来这里,这是我第一次没有找到已经发布的答案,所以我注册了。
我有一个简单的二进制可执行文件,可以在 10.04 中正常运行。
./buds
Opening serial device '/dev/ttyS0' (19200,8N1)...OK
Creating PTY device...OK
Setting PTY device '/dev/pts/1' (115200,8N1)...OK
Startup complete, waiting for commands...
但在 11.10 Live CD 或 VirtualBox 下的 12.04 中却不行:
cd Test
ls
buds
./buds
bash: ./buds: No such file or directory
我已确保 buds 是可执行的,并且我有权限:
chris@chris-VirtualBox:~$ ls -l buds
-rwxr-xr-x 1 chris chris 26240 2010年6月22日 buds
file buds
buds: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0xf8f0b93813114695c72203bdc1bcf47163553eab, stripped
ldd buds
not a dynamic executable
哎呀!
答案1
您的二进制文件似乎是为 32 位系统构建的。尝试安装 32 位 C 库:
sudo apt-get install libc6:i386
如果仍然无法运行,请使用ldd
查找库名称。如果libx11.so
缺少 ,您可能需要一个名为 的包libx11
。您可以随时使用http://packages.ubuntu.com/通过搜索文件名来找出包名称。