CentOS 安装 libzip
libzip是一个C库,用于读取、创建和修改zip和zip64格式的压缩文件。它支持从zip文件中读取、写入、添加和删除文件,还支持密码保护的zip文件。libzip是跨平台的,可以在多种操作系统上使用,包括Linux、Windows、macOS。
Current version is 1.10.1, released on August 23, 2023.
libzip官网:https://libzip.org
libzip Github:https://github.com/nih-at/libzip/tags
libzip-1.10.1.tar.gz (2023-08-23)
libzip-rel-0-11.tar.gz (2013-03-25)
libzip-rel-0-10-1.tar.gz (2012-03-20)
常用接口介绍
zip_open:用于打开一个 zip 文件。如果文件不存在,可以设置相应的标志来创建一个新的 zip 文件。
zip_close:关闭一个 zip 文件,并写入所有的更改。
zip_source_buffer:从内存缓冲区创建一个数据源,这个数据源可以用来向 zip 文件中添加内容。
zip_file_add:向 zip 文件中添加一个新的文件。
zip_fopen:打开 zip 文件中的一个文件,以便读取。
zip_fread:从打开的 zip 文件中读取数据。
zip_stat:获取 zip 文件中一个文件的信息,例如大小、修改时间。
zip_get_num_entries:获取 zip 文件中的条目数量
更多接口请见libzip官网:https://libzip.org/documentation/
下载安装 libzip
1)提前安装依赖cmake
libzip 不是用make编译,而是用cmake编译,默认安装的cmake版本较低,需自定义安装cmake升级版本
解决方案,详见本文下方的 "常见问题1"
2)自定义编译安装 libzip
wget https://study.mimvp.com/tool-server/libzip-1.10.1.tar.gz tar zxvf libzip-1.10.1.tar.gz cd libzip-1.10.1/ # vim INSTALL.md # 查看安装帮助和参数 mkdir build cd build cmake .. # 注意: 指定源目录 make make test make install # ## 查看build目录下的内容 # ls -al /home/data/tool-server/libzip-1.10.1/build total 184 drwxr-xr-x 7 root root 4096 Jul 2 12:23 . drwxrwxr-x 12 root root 4096 Jul 2 12:26 .. -rw-r--r-- 1 root root 33171 Jul 2 12:23 CMakeCache.txt drwxr-xr-x 9 root root 4096 Jul 2 12:23 CMakeFiles -rw-r--r-- 1 root root 4850 Jul 2 12:23 cmake_install.cmake -rw-r--r-- 1 root root 57886 Jul 2 12:23 compile_commands.json -rw-rw-r-- 1 root root 1769 Jul 2 12:23 config.h -rw-r--r-- 1 root root 356 Jul 2 12:23 CTestTestfile.cmake drwxr-xr-x 3 root root 4096 Jul 2 12:23 examples -rw-r--r-- 1 root root 6901 Jul 2 12:23 install_manifest.txt drwxr-xr-x 3 root root 4096 Jul 2 12:23 lib -rw-rw-r-- 1 root root 1847 Jul 2 12:23 libzip-config.cmake -rw-r--r-- 1 root root 1862 Jul 2 12:23 libzip-config-version.cmake -rw-rw-r-- 1 root root 339 Jul 2 12:23 libzip.pc -rw-r--r-- 1 root root 2628 Jul 2 12:23 libzip-targets.cmake -rw-r--r-- 1 root root 12422 Jul 2 12:23 Makefile drwxr-xr-x 3 root root 4096 Jul 2 12:23 man drwxr-xr-x 3 root root 4096 Jul 2 12:23 src -rw-rw-r-- 1 root root 1183 Jul 2 12:23 zipconf.h
3)配置libzip环境变量
首先,查看系统安装的低版本libzip
## 查看系统默认安装的libzip版本 # rpm -qa | grep -iE "libzip|libzip-devel" libzip-0.10.1-8.el7.x86_64 libzip-devel-0.10.1-8.el7.x86_64 # ## 说明:以上低版本的libzip-0.10.1,是系统安装导致: yum install libzip|libzip-devel -y
以上低版本libzip,可卸载 yum remove libzip|libzip-devel -y
然后,配置环境变量,一定是 lib64,不是lib,否则报错:
export PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig" # 正确,是libzip新安装的高版本
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" # 错误,仍然读取libzip的低版本
最后,配置lib库资源:
## 1. 新建文件 vim /etc/ld.so.conf.d/libzip.conf # 添加lib路径 /home/data/tool-server/libzip-1.10.1/build/lib # # 2. 修改文件 vim /etc/ld.so.conf # 添加如下几行 /usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64 # :wq 保存退出 # ## 3. 使ld.so.conf 配置文件生效 ldconfig -v
常见问题
1、cmake 编译错误,需 CMake 3.5.0 以上或更高
# cmake
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
CMake 3.5.0 or higher is required. You are running version 2.8.12.2
-- Configuring incomplete, errors occurred!
原因分析:cmake 编译错误,需 CMake 3.5.0 以上或更高,当前版本2.8.12.2过低
解决方案:下载cmake更高,并自定义安装
1)下载cmake
cmake官网:https://cmake.org/download/, cmake历史版本 (github)
cmake-3.30.0-rc4.tar.gz (2024-06-26,RC是发布候选版本,非正式版,不推荐)
cmake-3.29.6.tar.gz ( 2024-06-18,正式版,推荐)
cmake-3.29.6.tar.gz ( 2024-06-18)
cmake-3.29.6.tar.gz ( 2024-06-18)
2)安装 cmake (编译安装耗时较长、几十分钟)
wget https://study.mimvp.com/tool-server/cmake-3.29.6.tar.gz tar zxvf cmake-3.29.6.tar.gz cd cmake-3.29.6/ ./configure # 安装耗时较长 make # 安装耗时很长 make install source /etc/profile # 使新安装的wget生效, 即 /usr/local/bin/curl 排在第一
参考推荐:
CentOS 配置Apache、apr、apr-util、apr-iconv、sqlite3
CentOS 安装OpenSSL 支持 QUIC for http/3
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2024-07-02 13:12:49
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: CentOS 安装 libzip (米扑博客)