你能为旧版(Redhat 5 vintage)Linux构建Rust吗?

时间:2014-09-08 16:01:17

标签: rust anaconda conda

Redhat 5拥有所需的2.6.18内核,但不是最新的glibc,g ++,当然也没有任何铿锵声。二进制发行版没有运行,抱怨glibc版本。

有没有人试图将端口移回旧Linux?我可以想象用一个旧的内核和新的编译器拼凑一个frankensystem,并尝试编译旧的glibc或者在一些新的glibc中静态编译,但这似乎是一个令人担忧的过程。

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

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

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

2 个答案:

答案 0 :(得分:3)

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

使用的编译器版本并不重要,事实上在某些情况下,有必要使用比系统附带的旧编译器更新的编译器来使事情发挥作用。我有为CentOS 5构建的gcc 4.8,你可以使用conda(conda install -c asmeurer gcc)。

答案 1 :(得分:1)

本周末我遇到了这个问题,因为Skylight支持Linux 2.6.18,包括CentOS 5.10,我们在代理中使用Rust。

Rust核心团队的Alex Crichton通过使用CentOS 5.10盒进行构建,使用glibc 2.5和Linux 2.6.18,对get this working again非常友好。