惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
Vercel News
Vercel News
C
Check Point Blog
G
Google Developers Blog
博客园 - 司徒正美
量子位
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
A
About on SuperTechFans
美团技术团队
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
MongoDB | Blog
MongoDB | Blog
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
U
Unit 42

博客园 - Leone-

GitHub 61.7k+⭐智能体,当你的私人股票分析师:Daily_stock_analysis 不用懂编程!3种方法搭建WorkBuddy工作台,打工人必备效率神器 上班没空盯盘?61.7K星免费开源AI每天自动推送分析 :Daily_stock_analysis Workbuddy猜出宇树科技上市的价格 我翻了上百个连板票,启动前都干过一件反人性的事:回调5天 我把WorkBuddy变成了A股研究员:每天自动盯50只股票 用 Workbuddy 做一个自己的“每日工作台” 用WorkBuddy「个人工作台」,从0搭一套自己的工作管理系统 把行情软件旁边的 WorkBuddy,养成了一个盘后A股投研台 WorkBuddy保姆级使用指南 我用WorkBuddy盯A股异动,盘中不用一直看屏幕 个人量化从0到1:我跑了2年的系统,告诉你什么才是靠谱的 为什么有的人总能抓住市场热点? 五种形态一个答案,找到适合你性格的那一招重复一万遍 我花了三个月,复盘81只十倍股的K线,终于找到了它们的共同点 把一种模式练一万遍:主力流入+缩量回调+二次突破 我用WorkBuddy搭了一套“A股复盘助手”,每天10分钟看懂当天行情 我用WorkBuddy盯100只股票,每天只看发生变化的 我用WorkBuddy做A股“情绪周期雷达”,提前发现市场正在退潮 “大盘环境判定+主流板块识别+个股买点触发”:三位一体决策框架 猫抓配合N_m3u8DL-RE实现m3u8下载 量化交易入门与工具选择:一份面向个人投资者的专业指南 炒股保命纪律:高位不做正T,低位不做反T!这不是建议,是铁律! A股回测用Rust重写|akquant全栈实战 阿里刚开源了一个代码审查工具,两年揪出数百万个Bug 向内聚焦自身,减少精神内耗,全程专注自我成长与最终结果 华为韬定律8家核心公司梳理,先进封装+晶圆代工+底层硬核全解析 暴涨10%+,江波龙这玩笑开大了 我用 AI Agent 写了个"美股看门狗",每天早上替我分析 A 股方向 为什么电脑用久了会变得越来越卡顿,其背后的计算机原理是什么?
如何在 CentOS 上编译安装最新版 libzip
Leone- · 2025-11-08 · via 博客园 - Leone-


libzip 是一个用来读取、创建及修改 Zip 文件的 C 函数库,被其它很多软件项目所依赖,比如 Chromium、MySQL Workbench、PHP 的 Zip 扩展等。

如果你在 CentOS 上编译安装的软件依赖 libzip,但通过 Yum 或 DNF 包管理器安装的版本却不满足要求,即可按照本文提供的最佳实践编译安装最新版 libzip。

本文以 libzip 当前最新版本 1.11.4 为例,详细介绍了如何在 CentOS 上通过编译源代码的方式安装 libzip。本文提供的安装步骤在 CentOS 7、CentOS 8 以及 CentOS Stream 8 中均实际测试过,对于在编译过程中可能遇到的问题也做了详细说明。

本文假设你登录的账户已取得管理员账户(root)权限,因为文中出现的命令大部分都需要用到 root 账户权限。如果你登录的是普通账户,可运行 sudo -s 命令切换到带有 root 权限的 Shell,否则需要在每条命令前添加 sudo 命令。

本文在用到包管理器时,会统一使用 yum 命令,但是要知道在 CenOS 8、CentOS Stream 8/9/10 及更新版本的 CentOS 中,yum 命令已被 dnf 命令替代(以符号链接的形式存在),运行 yum 命令实际上是运行 dnf 命令。

一、编译环境

libzip 主要是用 C 语言编写的,因此编译 libzip 需要确保 CentOS 系统中安装了 C 编译器,本文以 GCCGNU Compiler Collection)为例,当然你也可以使用你所喜欢的其它 C 编译器。

另外还需要安装两款自动化构建工具 CMakeMake。前者的作用是生成项目构建系统(Buildsystem),里面包含 Makefile 文件(待执行的一组任务规则,告诉 make 如何编译和链接程序)。后者的作用是根据配置好的 Makefile 文件自动将源代码构建成可执行程序和库。

运行以下命令为 CentOS 系统安装 GCC 及 make 程序:

yum install gcc make

编译 libzip 要求 CMake 的最低版本为 3.0.2。对于 CentOS 8 或 CentOS Stream 8 来说,可以直接运行以下命令完成安装:

yum install -y cmake

而对于 CentOS 7 来说,通过包管理器 Yum 安装的 CMake 版本过低,需要手动安装更新的版本,具体步骤可参考下面这篇文章:

不论通过何种方式安装 CMake,都需要确保运行以下命令后,能够正常显示 CMake 的版本号,且版本号不低于 3.0.2

cmake --version

二、下载源码

从 libzip 官方下载页面获取最新版源代码压缩包的下载链接:

libzip 官方下载下面:https://libzip.org/download/

libzip 提供了两种类型的压缩包格式,XZ(扩展名为 .xz)和 Gzip(扩展名为 .gz),可根据自己的需要选择,本文以 XZ 格式为例。

切换到系统的源代码存放目录,将 libzip 的源代码压缩包下载下来:

cd /usr/local/src
curl -LO https://libzip.org/download/libzip-1.11.4.tar.xz

解压缩 libzip 源代码压缩包,并切换到源代码所在目录(注意,除非有说明,所有操作都会在该目录下进行,切勿离开):

tar -xvf libzip-1.11.4.tar.xz
cd libzip-1.11.4

三、开始编译

由于编译 libzip 需要依赖很多函数库(Library),所以需要在正式编译前准备好这些库。具体依赖哪些库可以查看源代码目录下的 INSTALL.md 文件,里面有详细说明。如果缺少某些库,在运行下面给出的 cmake 命令后会中断并给出提示。

为节省时间,你可以直接运行以下命令为操作系统安装所有依赖库:

yum install -y zlib-devel bzip2-devel xz-devel libzstd-devel openssl-devel 

注意,libzip 支持五种 AES(高级加密标准)实现,分别是 Apple’s CommonCrypto、GnuTLS、mbed TLS、OpenSSL 和 Microsoft Windows Cryptography Framework,但是只需要选择其中一种。本文示例选用的是 OpenSSL,所以安装了 openssl-devel。

接下来就可以运行下面这三条命令生成含有 Makefile 文件的项目构建系统:

mkdir build
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/libzip \
-DENABLE_OPENSSL=on \
-DENABLE_GNUTLS=off \
-DENABLE_MBEDTLS=off

注意,这里使用了四个 CMake 选项配置 libzip,其用途如下表所示:

选项 用途
CMAKE_INSTALL_PREFIX 指定 libzip 库安装位置
ENABLE_OPENSSL=on 指定使用 OpenSSL 作为 AES 实现
ENABLE_GNUTLS=off
ENABLE_MBEDTLS=off
禁用被自动检测到的其它 AES 实现

配置 libzip 项目构建系统

命令执行后,如果进度达到 100% 且没有出现任何错误,即可运行以下命令正式开始编译:

make

待编译进度达到 100% 且没有任何错误,即可运行以下命令完成安装:

make install

至此,libzip 就成功编译安装完成了。

四、升级 libzip

如果想要升级到 libzip 今后发布的新版本,只需要按照以上步骤重新操作一遍即可。

五、总结

完成以上流程后,应该能够得到如下所示的这些可用文件或信息,有些可能会被其它软件用到。

libzip 的 pkg-config 配置文件目录:

/usr/local/libzip/lib64/pkgconfig

libzip 头文件目录:

/usr/local/libzip/includes

libzip 库文件目录:

/usr/local/libzip/lib64