【CentOS】fatal error: zlib.h: No such file or directory

问题复现及原因分析

centos 下安装git,make 报错

$ cd /tmp
$ wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.30.2.tar.gz
$ tar -xvzf git-2.30.2.tar.gz
$ cd git-2.30.2/
$ ./configure
$ make
GIT_VERSION = 2.39.4
    * new build flags
    CC oss-fuzz/fuzz-commit-graph.o
In file included from ./commit-graph.h:4,
                 from oss-fuzz/fuzz-commit-graph.c:1:
./git-compat-util.h:1568:10: fatal error: zlib.h: No such file or directory
 #include <zlib.h>

问题出在编译过程中找不到 zlib.h 这个头文件。zlib.hzlib 库的一部分,zlib 是一个广泛使用的压缩库,很多项目都需要它来处理压缩数据。

解决

  • 对于 Debian/Ubuntu 系统,你可以使用以下命令:
    sudo apt-get install zlib1g-dev
  • 对于 CentOS/RHEL 系统,你可以使用以下命令:
    sudo yum install zlib-devel
  • 对于 Fedora 系统,你可以使用以下命令:
    sudo dnf install zlib-devel
  • 对于 macOS,如果你使用 Homebrew,可以使用以下命令:
    brew install zlib

注意⚠️

在安装zlib可能报错:

CentOS Linux 8 - AppStream                      0.0  B/s |   0  B     00:00    
Errors during downloading metadata for repository 'appstream':
  - Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock  [Could not resolve host: mirrorlist.centos.org]
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: Curl error (6): Couldn't resolve host name for http://mirrorlist.centos.org/?release=8&arch=x86_64&repo=AppStream&infra=stock  [Could not resolve host: mirrorlist.centos.org]\

从错误信息来看,在尝试从 CentOS 8 的 AppStream 仓库下载元数据时遇到了问题。错误提示表明 yum 无法解析 mirrorlist.centos.org 的主机名 。

解决:

cd /etc/yum.repos.d/

依次运行以下命令

sudo sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sudo sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
sudo yum update -y
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jayvee_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值