gpt4 book ai didi

linux - 将 Unix 程序从一台主机移植到另一台主机

转载 作者:太空宇宙 更新时间:2023-11-04 11:30:40 24 4
gpt4 key购买 nike

我有一个远程 Unix 服务器,我想在上面运行各种程序。我可以很容易地设置一个运行某种 Unix 风格的本地虚拟机,我可以在其上编译我的程序。问题是,似乎将 Unix 程序从一台主机移动到另一台主机总是失败得惊人。 :-(

例如,我在OpenSUSE 11.4系统上编译了test,并尝试运行。它工作得很好。但是后来我将编译后的二进制文件复制到 Debian 6.0.3 系统中,现在它无法运行。相反,我只是得到

test: error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory

大概安装编译器也会安装所有的依赖项——但只在本地机器上。我可能不得不以某种方式猜测我需要在远程机器上放置哪些依赖项。

最重要的是,我没有远程机器的 shell 访问权限。我只有FTP。所以我无法安装任何东西。我只能将文件复制到它。所以我想知道我是否可以将必要的共享库复制到与编译的二进制文件相同的文件夹中。那行得通吗?还是我必须做一些更复杂的事情?

最佳答案

在这种情况下,我认为最好的选择是编译一个静态二进制文件;请参阅 gcc-static 选项。但是,这有缺点,可能并不总是有效。

您也可以尝试复制共享库,但是您需要指示动态加载程序在您添加它们的位置搜索库(您的二进制文件必须与 -Wl 链接, -rpath,/path/to/libs 开关。

首先尝试-static。它应该更容易。

如果您想更深入地了解二进制可移植性问题,请查看以下来源:

关于linux - 将 Unix 程序从一台主机移植到另一台主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11560803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com