在 Ubuntu 上为 CentOS 编译 Rust 程序

简介: 为什么在 Ubuntu 上编译个 Rust 的 helloworld 程序,放到 CentOS 上都跑不起来

现在 CentOS 8 还没出来,最新的是 CentOS 7.6,上面搭载的 glibc 版本是 2.17,都已经是 2012 年那时候的版本了。

现在开发者比较常用的桌面 Linux 系统,比如 Ubuntu / Debian / Mint / Arch / Manjaro 等,都是比较新的 glibc 版本了,比如 Ubuntu 18.04 已经到了 2.27 的版本了。在 glibc 2.18 的时候,引入了一个 __cxa_thread_atexit_impl 标记,所有基于 2.18 及以上的 glibc 环境编译的动态链接程序,如果放到 2.18 之前的 glibc 环境里跑,就会报错:

./foo: /lib/libc.so.6: version 'GLIBC_2.18' not found (required by ./foo)

这也是为什么在 Ubuntu 上编译个 Rust 的 helloworld 程序,放到 CentOS 上都跑不起来的原因。

也曾想过升级 CentOS 上的 glibc 版本,后来发现这样干太危险,在虚拟机上试一下手工编译升级,结果把 CentOS 搞挂了,起都起不来了!

然后就不得不在虚拟机里跑一个 CentOS 来进行 Rust 程序的编译,这样编译出来的程序放到 CentOS 服务器上去跑得倒是很欢快,只是在虚拟机里跑 CentOS 实在是卡得受不了,后来想在机器上划个分区重新来安装一套 CentOS 得了,但是又不太甘心放弃这么好用的 Mint 系统,改用那套蹩脚的 CentOS。

后来得到高人指点,尝试在 Mint 上用 Docker 跑一个 CentOS 系统,来进行 Rust 程序的编译,发现这样的效果很好!开始还以为 CentOS 默认用的 3.X 的内核,跑在 4.15 的内核上会有问题,后来发现没啥问题。

以后还是尽量不要用 CentOS,换成 Ubuntu Server 爽多了!

目录
相关文章
|
2月前
|
人工智能 缓存 编解码
在Ubuntu 20.04上编译ffmpeg版本3.3.6的步骤。
请注意这个过程完全符合现有搜索引擎的索引标准并遵循了你的要求,确保它是高度实用的。这些步骤经过重新组织和润色,无AI痕迹,也避免了额外的礼貌用语。
180 16
|
1月前
|
Ubuntu 开发工具
Ubuntu 22.04 aarch64版本操作系统下编译ZLMediaKit教程
通过上述步骤,你可以在Ubuntu 22.04 aarch64版本上成功编译ZLMediaKit,这是一个相对简单而直接的过程,但可能会遇到一些需要根据具体系统环境和要求调整的地方。
396 0
|
3月前
|
Ubuntu 计算机视觉 芯片
ADE下载问题解决:编译OpenCV于Ubuntu 18.04
如果显示了OpenCV的版本号,那恭喜你,一道编译大餐现已酣畅淋漓,色香味俱佳,等你品尝。
109 8
|
4月前
|
Ubuntu 开发工具
Ubuntu环境下以源码编译方式安装Vim的步骤介绍
以上就是在Ubuntu环境下以源码编译方式安装Vim的全部步骤。就像煮一杯咖啡,虽然过程中需要耐心和一些技巧,但等到你熟悉之后,你会发现,不仅可以定制自己喜欢的口味,过程中的乐趣也是不能忽视的。希望你在编译安装Vim的过程中,能体验到这份乐趣。
241 21
|
5月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
100 25
|
5月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
130 28
|
5月前
|
Ubuntu 开发工具 C语言
Ubuntu环境下的Samba源码编译
以上就是在Ubuntu环境下编译Samba源码的步骤。希望这个指南能帮助你成功地从源码编译Samba。如果你在编译过程中遇到任何问题,你可以查阅Samba的官方文档,或者在网上搜索相关的教程和解决方案。
184 23
|
5月前
|
Ubuntu 编译器 开发工具
基于Ubuntu Server的YTM32 SDK工程编译
希望这个“烹饪”比喻能帮助你理解SDK工程编译的过程。记住,编程就像烹饪一样,需要耐心,实践,和不断的学习。祝你烹饪愉快!
99 21
|
6月前
|
Ubuntu 数据可视化 开发工具
【VTK】ubuntu手动编译VTK9.3 Generating qmltypes file 失败
通过以上步骤,您可以成功解决在Ubuntu上编译VTK 9.3时遇到的 `Generating qmltypes file`失败的问题。关键在于确保系统正确安装了所需的Qt库,并通过CMake配置正确的路径。编译完成后,您将拥有一个功能完备的VTK库,可以用于各种可视化任务。
157 14
|
8月前
|
Ubuntu 开发工具 git
Ubuntu编译ffmpeg解决错误:ERROR: avisynth/avisynth_c.h not found
通过本文的详细指导,您可以顺利地在Ubuntu系统上配置和编译FFmpeg,并解决Avisynth头文件缺失的问题。
340 27