我最近安装了 Ubuntu 14.04,但无法执行文件夹中的 .out 文件。我正在添加我尝试过的各种命令的输出。
文件名为a_lena.out
$ls -l a_lena.out
-rwxrwxr-x 1 gaurav gaurav 20966 Aug 18 06:52 a_lena.out
$./a_lena.out
bash: ./a_lena.out: No such file or directory
$echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
我正在编辑一些配置,例如:如何永久保存亮度设置、在代理上下载 PPA 等。也许我弄乱了系统文件。
如果需要更多信息,请告诉我。
问候,
高拉夫
PS:请为该问题添加合适的标签。
更新
我从朋友那里收到了这个文件,这是我作业的一部分。它是 OpenCV 程序的输出文件。我还没有在我这边编译这个文件。因为它是 OpenCV 程序的输出,所以它应该依赖于 OpenCV 库(我已经在我的计算机上安装了这些文件)。file
命令的输出是:
a_lena.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=6f48073f6000de3ec1fccc74bf5d5bbb29d24d6d, not stripped
从讨论中,我直觉地认为该文件需要在我的计算机上编译,并且我不应该期望任何 .out 文件都是可执行的。请再补充一些说明,这样我就不会再犯这种愚蠢的错误了,因为我是个新手。
更新2
的输出ldd
是:
not a dynamic executable
的输出dpkg-architecture
是:
DEB_BUILD_ARCH=amd64
DEB_BUILD_ARCH_BITS=64
DEB_BUILD_ARCH_CPU=amd64
DEB_BUILD_ARCH_ENDIAN=little
DEB_BUILD_ARCH_OS=linux
DEB_BUILD_GNU_CPU=x86_64
DEB_BUILD_GNU_SYSTEM=linux-gnu
DEB_BUILD_GNU_TYPE=x86_64-linux-gnu
DEB_BUILD_MULTIARCH=x86_64-linux-gnu
DEB_HOST_ARCH=amd64
DEB_HOST_ARCH_BITS=64
DEB_HOST_ARCH_CPU=amd64
DEB_HOST_ARCH_ENDIAN=little
DEB_HOST_ARCH_OS=linux
DEB_HOST_GNU_CPU=x86_64
DEB_HOST_GNU_SYSTEM=linux-gnu
DEB_HOST_GNU_TYPE=x86_64-linux-gnu
DEB_HOST_MULTIARCH=x86_64-linux-gnu
答案1
看到这个问题,你可能会觉得这是不可能的;文件在那里,但 bash 说它不在。所以,只能有一个其他答案 - 该文件需要其他程序来运行,但找不到该程序。
由于这似乎是编译器的输出,我猜测它是在 64 位系统上编译为 32 位动态链接可执行文件;这需要一个辅助程序来运行它,而辅助程序就是没有被找到的程序。
您可以了解有关此内容的更多信息这里