glibc编译
发布时间: 2023-01-30 02:37:25
① 【Rust交叉编译】cross使用较低版本的glibc
众所周知,glibc已经成为了linux二进制程序在各种发行版之间不兼容的重要因素了,究其原因,是glibc的版本兼容性机制。比如在高版本glibc的Linux机器上编译和链接的二进制,在低版本glibc的Linux运行会报如下错误:
并且,glibc做静态链接时会出现比较奇怪的问题(nss等),所以各发行版一致不推荐glibc静态链接。那么目前比较好的方案是,需要发行的应用,在比较低版本的glibc做编译和链接。
而Rust官方提供了 cross 这个工具做交叉编译的工作,而常用的taget x86_64-unknown-linux-gnu 的glibc版本为2.15,对于某些老到掉牙的发行版来说,可能还是会有兼容性问题,所以我基于Centos6打包了一个镜像: https://hub.docker.com/repository/docker/jmjoy/cross ,内置的glibc版本为2.12。
使用方法:
在Cross.toml中:
② linux编译安装glibc-2.17
这个其实应该找一个旧版本的ntfs-3g,版本太新
另外,不要随便编译安装glibc,如果你新编译的glibc覆盖了系统中的,不能保证你的系统还能正常使用
③ 怎么查看交叉编译工具链是glibc
在编辑工具当中我们看一下具体的连接操作方式,然后进入高级查看模式,就可以看到是否是glibc操作模式。
热点内容
