ldd告诉我我的应用程序不是“动态可执行文件”

卡尔

我有一个来自天文学教授的32位应用程序(称为uclsyn)。一年前,我设法使其在CentOS上运行,但是现在,当我设置一个新的CentOS VM时,它将无法运行,并且我也无法找出原因。它总是以“杀死”回来。

这是命令行上的交换:

$ ./uclsyn_linux
Killed

$ ldd ./uclsyn_linux
not a dynamic executable

$ file ./uclsyn_linux
uclsyn_linux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped

在运行的机器上,“ ldd ./uclsyn_linux”返回完整的依赖项列表。我已经找到了提供这些共享库的软件包,并且它们似乎都已安装。

需要包装

  • libSM-1.1.0-7.1.el6.i686
  • libX11-1.3-2.el6.i686
  • libgcc-4.4.6-3.el6.i386
  • glibc-2.12-1.47.el6_2.9.i686
  • libuuid-2.17.2-12.4.el6.i686
  • libXau-1.0.5-1.el6.i686
  • 我已经检查并已经安装了应用程序本地的大量库。

我的环境

在VirtualBox下运行的CentOS

uname -a:Linux localhost.localdomain 2.6.32-358.el6.i686#1 SMP 2月21日星期四12:50:49 UTC 2013 i686 i686 i386 GNU / Linux

卡尔

这里的错误是由于VirtualMachine上没有足够的RAM。正在运行strace ./programname表示该程序在开始加载任何库之前就被杀死,与开始运行时一样。增加可用的RAM数量可确保程序可以运行。

有用的回应

其他人提供了一些有用的响应,例如@slm提供了有用的命令以检查每个库是否存在,以及@lgeorget建议尝试使用该strace命令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ldd 开始向我展示“不是动态可执行文件”

Linux / bash无法执行“哪个”告诉我的可执行文件

可执行文件的 OSX Notarize(不是应用程序)

指定的可执行文件不是此OS平台的有效应用程序。

'指定的可执行文件不是此OS平台的有效应用程序

指定的任务可执行文件“ cmd.exe”无法运行。指定的可执行文件不是此OS平台的有效应用程序

如何运行可执行文件(应用程序/ x-可执行文件)?

损坏的 xfce4 应用程序菜单条目 - 我知道可执行文件在哪里,但我不知道如何修复它

自动测试应用程序可执行文件(基于Windows的应用程序)

Linux ldd中的“静态链接”和“不是动态可执行文件”有什么区别?

即使objdump和readelf不同意,ldd也会为64位ELF返回“不是动态可执行文件”

使用动态链接库代码扩展 C++ 应用程序(可执行文件)?

Unity Android构建失败:指定的可执行文件不是此OS平台的有效应用程序

在哪里可以找到文件系统中的应用程序可执行文件?

从可执行文件(及其所在的文件夹)创建应用程序

我可以从 webview 执行可执行文件吗?

如何从 NodeJS+Express 应用程序制作可执行文件?

将 Kivy 应用程序编译为 Windows 可执行文件

Windows:从Store安装的应用程序的可执行文件在哪里?

如何从终端用Swift编写的应用程序生成可执行文件?

应用程序崩溃后自动重启可执行文件

在Android应用程序中托管可执行文件

WPF和命令行应用程序在同一可执行文件中

如何发现应用程序的主要可执行文件

在Debian中安装应用程序/ x可执行文件

是否可以分发使用 C 生成的可执行文件的 Java 桌面应用程序?

如何将Web应用程序转换为桌面可执行文件?

SBCL:将Hunchentoot应用程序部署为可执行文件

发布时在clickonce应用程序内签名可执行文件