• 源码安装包缺失pcre库或者版本低的问题


    错误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 No package 'libpcre' found

    错误1的原因是libpcre没有安装导致的,安装pcre库即可解决

    可参考下面2.1小节的源码安装方式【2】。

    二、错误2 Requested 'libpcre >=*' but version of libpcre is *

    错误2的原因有两个:

    2.1 其一:本机电脑安装的是pcre8.33版本太低不符合要求,需要重新安装大于8.33版本的pcre库

    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

    2.2 其二:本机电脑安装的最新的pcre库系统在源码安装其他包的时候找到了旧版本。

    查看本机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

  • 相关阅读:
    Pytorch框架详解
    面试系列 - JVM内存模型和调优详解
    JavaScript内置对象 - Array数组(二)- 方法
    高性能MySQL实战第11讲:如何做到MySQL高扩展性?
    SPOJ 4110 Fast Maximum Flow (最大流模板)
    0 算法复杂度
    【题解】P8579 [CoE R5/Stoi2029] 半岛铁盒
    vmware无法ping通主机的解决方法
    基于元数据的无代码平台存储设计
    Nocalhost安装操作步骤详解
  • 原文地址:https://blog.csdn.net/sa726663676/article/details/126744263