博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在 Ubuntu 上为 CentOS 编译 Rust 程序
阅读量:6238 次
发布时间:2019-06-22

本文共 885 字,大约阅读时间需要 2 分钟。

hot3.png

现在 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 爽多了!

转载于:https://my.oschina.net/u/1461794/blog/3003679

你可能感兴趣的文章
Webapp下ClassLoader 加载机制
查看>>
Linux 计算机系统硬件核心知识总结
查看>>
php高级研发或架构师必了解---很多问题面试中常问到!
查看>>
使用DOM解析XML文件——构建实时地震信息列表
查看>>
据说,新闻标题"沙逼北京"总算有绝对的下联了
查看>>
易讯网售后无保障
查看>>
FF上传本地图片预览
查看>>
IO流-文件传输基础
查看>>
neo4j CQL语句
查看>>
使用 mklink把apple 备份文件从c盘转移到D盘
查看>>
构造函数
查看>>
OSPF的网络类型
查看>>
raid0 raid1 raid5 三种工作模式的工作原理及特点
查看>>
Tomcat性能调优方案
查看>>
ubuntu下安装windows下的字体
查看>>
Kubernetes ReplicationController源码分析
查看>>
八大排序算法
查看>>
北京最新小学名校排名,绝对经典!
查看>>
解决js获取innerHTML无法获取value的问题
查看>>
$(this)
查看>>