libzip报错configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met
原文章https://blog.csdn.net/ljh101/article/details/108531725 (备份,方便日后查看) php7.4编译参数的时候出现的问题
翻译过来的意思就是 libzip的版本必须大于0.11 且 不能等于1.3.1或者1.7.0
官网下载地址
https://libzip.org/download/libzip-1.3.2.tar.gz
卸载自身的libzip
yum remove libzip
下载
wget https://libzip.org/download/libzip-1.3.2.tar.gz tar xvf libzip-1.3.2.tar.gz cd libzip-1.3.2 ./configure && make && make install
查看libzip在那个路径
whereis libzip
现在需要告诉. ./configure 程序,你新安装的libzip在哪里,方法有两个 1、编辑 /etc/ld.so.conf这个文件,最后面添加以下内容
/usr/local/lib
接着执行下面的命令立即生效
ldconfig -f
2、执行下面一条命令即可
export PKG_CONFIG_PATH=”/usr/local/lib/pkgconfig/“
从libzip1.4.0版本以上需要cmake编译安装(非必须情况下,不推荐,可以忽略)
yum -y install cmake(安装的是2.8的,编译libzip需要cmake3版本)
网上很多都是编译安装cmake3,这里我给大家弄到一个简单的方法
先卸载干净自带的camke
yum remove camke
直接yum下载camke3以及所需的依赖
yum -y install cmake3 openssl openssl-devel gnutls gnutls-devel mbedtls mbedtls-devel bzip2 bzip2-devel
然后创建cmkae的软连接(设置环境变量也可以)
ln -s /usr/bin/cmake3 /usr/bin/cmake
到20201019为止最新的是libzip1.7.3,注意需要翻墙才能下载注意,这个步骤一步一步来,才能看清楚报错情况
wget https://libzip.org/download/libzip-1.7.3.tar.gz tar -zxvf libzip-1.7.3.tar.gz cd libzip-1.7.3 mkdir build cd build cmake .. make && make install
执行cmake .. 指令的时候会出现这个提示:Could NOT find Nettle: Found unsuitable version “2.7.1”, but required is at least “3.0”,这里提示这个库的版本太低了,需要下载后手动编译升级一下然后继续执行往下的步骤
卸载原本旧版nettle
yum remove nettle
下载nettle3.6以下是官方链接
wget https://ftp.gnu.org/gnu/nettle/nettle-3.6.tar.gz cd nettle-3.6
必须指定路径否则cmake..还是会提示找不到nettle
./configure –prefix=/usr/ && make && make install
然后发现报这个,但是后面php可以编译通过了,不会报错,有知道这个是怎么回事的麻烦告知一下,这个是本来就是这样的呢?还是我那个步骤没搞对呢?
接下来就和libzip1.3的一样了,需要告诉 ./configure程序,你新安装的libzip在哪里了 ,其实上面的输出信息,往上拉就可以看到,但是也可以通过下面的命令可以这样查看安装路径
find /usr -name ‘libzip‘ 把新的路径执行一遍,再次回去安装php7.4就没问题了
export PKG_CONFIG_PATH=”/usr/lib64/pkgconfig/“
参考连接(非常感谢):