You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RedHat 6中Rust 1.59搭配reqwest(rustls-tls)构建失败的解决咨询

RedHat 6下Rust 1.59使用rustls-tls版reqwest的解决方法

问题根源

ring v0.16.20的构建脚本无法适配RedHat 6的glibc 2.15及老版本gcc环境,导致编译失败。

方案1:锁定ring兼容版本

在Cargo.toml中强制指定ring为0.16.19版本(该版本对老系统兼容性更好):

[package]
name = "your_package_name"
version = "0.1.0"
edition = "2021"

[dependencies]
reqwest = { version = "0.10", default-features = false, features = ["blocking", "json", "rustls-tls"] }
ring = "0.16.19"

方案2:指定编译参数适配老环境

  1. 确保已安装基础编译工具:
yum install gcc gcc-c++ make
  1. 临时设置环境变量后执行编译:
CC=gcc CFLAGS="-std=c99 -O2" cargo check

或者将配置写入~/.cargo/config,永久生效:

[build]
env = { CC = "gcc", CFLAGS = "-std=c99 -O2" }
rustflags = ["-C", "link-arg=-lrt"]

方案3:使用musl静态编译(规避系统glibc依赖)

  1. 添加musl目标:
rustup target add x86_64-unknown-linux-musl
  1. 修改Cargo.toml的reqwest特性:
reqwest = { version = "0.10", default-features = false, features = ["blocking", "json", "rustls-tls", "musl"] }
  1. 指定musl目标编译:
cargo check --target x86_64-unknown-linux-musl

内容的提问来源于stack exchange,提问作者reddream

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:10:15