有没有办法在Linux发行版中制作一个二进制文件,并在另一个相同架构的发行版上运行它?还是我应该在不同的发行版上编译和构建它?
Redhat、Debian基于的发行版之间是否存在二进制文件兼容性?(我想在Fedora上使用我的Ubuntu二进制文件!)
有没有办法在Linux发行版中制作一个二进制文件,并在另一个相同架构的发行版上运行它?还是我应该在不同的发行版上编译和构建它?
Redhat、Debian基于的发行版之间是否存在二进制文件兼容性?(我想在Fedora上使用我的Ubuntu二进制文件!)
使用Linux 标准基础规范来减少各种Linux发行版之间的差异。
cde
命令时出现了错误,通过在命令前添加LD_ASSUME_KERNEL=2.4.1
修复了这个问题,可能在最近的版本中不再需要,因为那是多年以前的事情了。这个可以工作。但它也取决于你使用的共享库版本,包括libc、libstdc++等,这些都是由编译器版本强制指定的,可能因发行版而异。
其他人已经提到的Linux标准基础试图解决这些变量的跨发行版问题,但它并不全面,大多数发行版也没有完全支持。然而,如果它们意外破坏了LSB兼容性,大多数发行版都会认为这是一个问题。
通常情况下,只要有相同的库文件可用,跨Linux发行版使用二进制文件是可以的。您可以使用“ldd”命令检查二进制文件所需的库文件。在涉及的发行版中,libc 库应该具有相同的版本。
LSB值得一试。但就使用库方面而言,我最满意的答案是这里在SO上https://stackoverflow.com/questions/1209674/shipping-closed-source-application-for-linux/1242738#1242738以及对rpath机制的详细处理http://www.eyrie.org/~eagle/notes/rpath.html。