怎样编译安装libzip

2017年8月2日 | 分类: 【技术】

【介绍】

zip格式是使用非常广泛的压缩文件格式。libzip 依赖于 zlib ,而zlib压缩本身主要处理gzip数据流。

官网:https://libzip.org/
官网:http://www.nih.at/libzip/index.html

参考:https://gist.github.com/mobius/1759816

Centos7下载安装PHP7时,报错:

configure: error: system libzip must be upgraded to version >= 0.11

参考:http://www.uedbox.com/centos7-ziparchive-libzip/

【rpm安装】

yum install http://rpms.remirepo.net/enterprise/7/remi/x86_64/libzip5-1.7.3-1.el7.remi.x86_64.rpm
yum install http://rpms.remirepo.net/enterprise/7/remi/x86_64/libzip5-devel-1.7.3-1.el7.remi.x86_64.rpm

实证有效。

【从源码编译安装】

最新版本:libzip-1.5.2

libzip需要cmake高版本进行编译。

参考:https://amon.org/cmake

wget https://libzip.org/download/libzip-1.5.2.tar.gz && tar xvf libzip-1.5.2.tar.gz && cd libzip-1.5.2 && mkdir build && cd build && cmake .. && make && make install

输出:

Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib64/pkgconfig/libzip.pc
-- Installing: /usr/local/include/zipconf.h
-- Installing: /usr/local/include/zip.h
-- Installing: /usr/local/lib64/libzip.so.5.0
-- Installing: /usr/local/lib64/libzip.so.5
-- Installing: /usr/local/lib64/libzip.so
...
-- Installing: /usr/local/bin/zipcmp
-- Set runtime path of "/usr/local/bin/zipcmp" to "/usr/local/lib64"
-- Installing: /usr/local/bin/zipmerge
-- Set runtime path of "/usr/local/bin/zipmerge" to "/usr/local/lib64"
-- Installing: /usr/local/bin/ziptool
-- Set runtime path of "/usr/local/bin/ziptool" to "/usr/local/lib64"

编译安装完成。

如果会碰到so文件找不到的情况。由于为搜索/usr/lib64目录的原因,一般的解决方法就是直接软连接过去。

创建软连接:

ln -vs /usr/local/libzip/include/zipconf.h /usr/local/include/zipconf.h

或者复制:

cp /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h