rust - 你能为旧的(Redhat 5 vintage)Linux 构建 Rust 吗?

标签 rust anaconda conda

Redhat 5 具有所需的 2.6.18 内核,但没有最新的 glibc、g++,当然也没有 clang。二进制分发不运行,提示 glibc 版本。

有没有人尝试过将端口移植到旧的 Linux?我可以想象用旧内核和新编译器拼凑一个科学怪人系统,并尝试针对旧 glibc 进行编译或在一些新 glibc 中进行静态编译,但这似乎是一个令人担忧的过程。

只是想知道是否有人尝试过并且可以提供指导?

我认为必须有一个发行版设置才能进行此类构建。例如,Anaconda 包含许多新技术,但在 Redhat 5 上运行良好。我想知道他们是如何构建它的?

更新:一旦你获得了一些在 RHEL5 上工作的更新的编译器,它仍然不可能构建 Rust,因为它依赖于它自己的工作二进制文件来引导。请参阅:https://github.com/rust-lang/rust/issues/9545#issuecomment-54865031

最佳答案

Anaconda 软件包是针对 CentOS 5(相当于 Redhat 5)构建的。重要的是针对足够旧的 glibc 进行编译,因为它是严格向前兼容的(如您所见)。 glibc 的版本通常与发行版的版本相关联,因此最好的办法是使用 CentOS 5 制作一个虚拟机并在此基础上构建。

所用编译器的版本并不那么重要,事实上在某些情况下,有必要使用比系统附带的旧编译器更新的编译器才能使工作正常进行。我有为 CentOS 5 构建的 gcc 4.8,您可以使用 conda (conda install -c asmeurer gcc) 获得它。

关于rust - 你能为旧的(Redhat 5 vintage)Linux 构建 Rust 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25728336/

相关文章:

rust - 特征绑定(bind) i8 : From<u8> was not satisfied

generics - 如何使用通用固定长度数组定义函数?

unit-testing - 如何测试依赖于环境变量的 Rust 方法?

python - Jupyter笔记本应用程序启动错误

conda - 如何列出 conda 可用的软件包版本

python - 命令行不使用 conda 环境中的 python,即使它处于事件状态,可能是 .bash_profile 中的问题?

rust - 具有盒装隐含性状的结构

python - 需要帮助确定 pip、内核等的正确文件路径

windows - 如何删除 Anaconda 的键盘快捷键

python - 达斯克不安装graphviz依赖