• 【PostgreSQL数据库解决问题】Linux系统下PostgreSQL在源码安装阶段./configure时遇到的问题


      PG数据库源码在编译之前,需要首先通过configure脚本,加入一些参数进行配置。例如:想要支持lz4压缩,就需要在configure时,添加参数--with-lz4。

      一般情况下,想要把相关功能都配置,详细的configure命令为(本人是Linux系统):

      ./configure --enable-debug --with-python --with-perl --with-tcl --with-gssapi --with-pam --with-openssl --with-pam --without-ldap --with-libxml --with-libxslt --without-oci --enable-dtrace --enable-depend --enable-cassert --with-systemd CFLAGS="-O0 -DOPTIMIZER_DEBUG -g3 -gdwarf-2" --prefix=/usr/local/pgsql

      在第一次执行的时候,一般会报很多错,主要的原因,还是相关的库,并没有安装。

      总结遇到的相关问题如下:

    【问题1】:

    checking for dtrace... no
    configure: error: dtrace not found
    解决方法:
    yum search dtrace
    Loaded plugins: fastestmirror, refresh-packagekit, security
    Loading mirror speeds from cached hostfile
    * base: mirrors.163.com
    * extras: mirrors.163.com
    * updates: mirrors.163.com
    =============================================================================================== Matched: dtrace ===============================================================================================
    systemtap-sdt-devel.i686 : Static probe support tools
    systemtap-sdt-devel.x86_64 : Static probe support tools

    找到了,就安装,我是64位的,安装第二个
    yum install -y systemtap-sdt-devel.x86_64

    【问题2】:
    checking for flags to link embedded Perl... Can't locate ExtUtils/Embed.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
    BEGIN failed--compilation aborted.
    no
    configure: error: could not determine flags for linking embedded Perl.
    This probably means that ExtUtils::Embed or ExtUtils::MakeMaker is not
    installed.
    解决方法:
    yum install perl-ExtUtils-Embed -y

    【问题3】:
    configure: error: could not determine flags for linking embedded Perl.
    This probably means that ExtUtils::Embed or ExtUtils::MakeMaker is not
    installed.
    解决方法:
    yum install perl-ExtUtils-Embed

    【问题4】:
    configure: error: readline library not found
    If you have readline already installed, see config.log for details on the
    failure. It is possible the compiler isn't looking in the proper directory.
    Use --without-readline to disable readline support.

    解决方法:
    yum install readline readline-devel

    【问题5】:
    checking for inflate in -lz... no
    configure: error: zlib library not found
    If you have zlib already installed, see config.log for details on the
    failure. It is possible the compiler isn't looking in the proper directory.
    Use --without-zlib to disable zlib support.
    解决方法:
    yum install zlib zlib-devel

    【问题6】:
    checking for CRYPTO_new_ex_data in -lcrypto... no
    configure: error: library 'crypto' is required for OpenSSL
    解决方法:
    yum install openssl openssl-devel

    【问题7】:
    checking for pam_start in -lpam... no
    configure: error: library 'pam' is required for PAM
    解决方法:
    yum install pam pam-devel

    【问题8】:
    checking for xmlSaveToBuffer in -lxml2... no
    configure: error: library 'xml2' (version >= 2.6.23) is required for XML support
    解决方法:
    yum install libxml2 libxml2-devel

    【问题9】:
    checking for xsltCleanupGlobals in -lxslt... no
    configure: error: library 'xslt' is required for XSLT support
    解决方法:
    yum install libxslt libxslt-devel

    【问题10】:
    configure: error: Tcl shell not found
    解决方法:
    yum install tcl tcl-devel

    【问题11】:
    checking for ldap.h... no
    configure: error: header file is required for LDAP
    解决方法:
    yum install openldap openldap-devel

    【问题12】:
    checking for Python.h... no
    configure: error: header file <Python.h> is required for Python
    解决方法:
    yum install python python-devel (注意有的机器上需要指定python版本,例如python2-devel或python3.6-devel)

    【问题13】:
    Error when bootstrapping CMake:
    Cannot find appropriate C++ compiler on this system.
    Please specify one using environment variable CXX.
    See cmake_bootstrap.log for compilers attempted.
    解决方法:
    yum install gcc-c++

    【问题14】:

    configure: error: Package requirements (liblz4) were not met:

    No package 'liblz4' found

    原因是缺少liblz4依赖包。
    解决办法:
    安装liblz4相关包
    sudo yum install epel-release
    yum install lz4
    sudo yum install lz4-devel
    若上面方法失败,也可手动安装,可以参考本人其他博客,有专门介绍手动安装lz4,本人亲测可行。
     
    .......
    后续遇到别的问题,再进行完善。
  • 相关阅读:
    进程 触发器
    关于 if条件 光标 循环的综合应用
    3-15记录
    day3.python 学习之列表
    day2: python3.5学习——逻辑判断
    day1: python3.5学习
    OpenGL_曲线函数
    OpenGL_赛平斯基垫片
    【quick-cocos2d-x 游戏开发之一】开发工具sublime text及其强力插件QuickXDev
    Python正则表达式指南
  • 原文地址:https://www.cnblogs.com/coreLeo/p/16170123.html
Copyright © 2020-2023  润新知