赞
踩
错误1:
-- Checking for module 'libpcre>=8.41'
-- No package 'libpcre' found
或者
错误2:
-- Checking for module 'libpcre>=8.41'
-- Requested 'libpcre >= 8.41' but version of libpcre is 8.33
错误1的原因是libpcre没有安装导致的,安装pcre库即可解决
可参考下面2.1小节的源码安装方式【2】。
错误2的原因有两个:
pcre源码下载地址:PCRE Activity
linux系统源码安装pcre 8.44版本:
./configure --prefix=/usr \
--docdir=/usr/share/doc/pcre-8.44 \
--enable-unicode-properties \
--enable-pcre16 \
--enable-pcre32 \
--enable-pcregrep-libz \
--enable-pcregrep-libbz2 \
--enable-pcretest-libreadline \
--disable-static
make -j2
make check
make install
查看pcre安装版本:
pcre-config --version
查看本机pcre的版本:
pcre-config --version
可见本机安装的是8.44版本
我们使用另一个命令【1】查看本机安装的pcre版本,该命令输出的是8.33版本而不是8.44版本:
pkg-config --moversion libpcre
出现这个问题的原因是libpcre.pc文件记录着安装包的元信息,安装源码包的时候没有更新这些信息。所以系统存在两个版本的pc,系统默认找的是原始pc文件所在路径:
解决办法1:
直接将个人安装生成的pc文件替换原始系统安装生成的pc文件
比如本人将/usr/local/lib/pkgconfig下的libpcre复制到/usr/lib64/pkgconfig
cp /usr/local/lib/pkgconfig/libpcre* /usr/lib64/pkgconfig
解决办法2:
终端配置输入如下命令,指定系统寻找的pc文件,该命令只在当前终端生效:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然后重新编其他包问题得到解决。
附录:
解决如上两个错误还有第三种方法【3】:
将pcre的源码库直接复制到需要安装的源码包内即可。
参考:
【1】cmake - Error package 'sqlite3>=3.7.11' not found - Ask Ubuntu
【2】https://www.mediawiki.org/wiki/Updating_to_PCRE_8.33_or_Higher
【3】Compile finds PCRE but also doesn't find it ? · Issue #86 · intel/hyperscan · GitHub
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。