我们有一个构建在 CentOS 4 32 位 Linux 上的产品,它可以在 32 位和 64 位 CentOS/RHEL 4 和 5 以及 SLES 10 上未经修改地运行。它也在 SLES 9 64 位上未经修改地运行。[SLES 9 32 位需要不同的 libstdc++。
主二进制可执行文件的名称是 flume
昨天我们尝试将它放在 64 位 Ubuntu 10 上,即使文件在那里并且大小合适,我们也会得到:
-bash: ./flume: No such file or directory
Run Code Online (Sandbox Code Playgroud)
file flume
显示它是一个 32 位 ELF(不记得确切的输出,并且系统位于隔离网络上)
如果放入/usr/local/bin
,则:
which flume
/usr/local/bin/flume
Run Code Online (Sandbox Code Playgroud)
我还没有尝试
ldd flume
。
我现在怀疑某个图书馆不存在。
这是一个非常无益的信息,也是我以前从未见过的。
这是 Ubuntu 特有的,还是仅此安装特有的。
我们放弃并转向 RHEL 4 系统,一切都很好。但我确实想知道是什么导致了这种情况。