• X 搭建Postgresql configure: error: readline library not found


    在搭建Postgresql测试环境,在安装过程中遇到一个问题,在执行 configure 
    过程中报以下错误,configure: error: readline library not found,同事说已经在系统中安装
    readline 包了,让我帮他看下。
    
    1 环境信息
    OS: CentOS release 5.2(Final)
    PG: postgresql-9.0.0]
    
    2 根据提示,我测试了下 configre命令,果然报这个错
    [root@HK81-107postgresql-9.0.0]# ./configure
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking which template to use... linux
    checking whether to build with 64-bit integer date/time support...yes
    checking whether NLS is wanted... no
    checking for default port number... 5432
    checking for block size... 8kB
    checking for segment size... 1GB
    checking for WAL block size... 8kB
    checking for WAL segment size... 16MB
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables... 
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking if gcc supports -Wdeclaration-after-statement...yes
    checking if gcc supports -Wendif-labels... yes
    checking if gcc supports -fno-strict-aliasing... yes
    checking if gcc supports -fwrapv... yes
    checking whether the C compiler still works... yes
    checking how to run the C preprocessor... gcc -E
    checking allow thread-safe client libraries... yes
    checking whether to build with Tcl... no
    checking whether to build Perl modules... no
    checking whether to build Python modules... no
    checking whether to build with GSSAPI support... no
    checking whether to build with Kerberos 5 support... no
    checking whether to build with PAM support... no
    checking whether to build with LDAP support... no
    checking whether to build with Bonjour support... no
    checking whether to build with OpenSSL support... no
    checking for grep that handles long lines and -e.../bin/grep
    checking for egrep... /bin/grep -E
    checking for ld used by GCC... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for ranlib... ranlib
    checking for strip... strip
    checking whether it is possible to strip libraries... yes
    checking for ar... ar
    checking for tar... /bin/tar
    checking whether ln -s works... yes
    checking for gawk... gawk
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    checking for bison... no
    configure: WARNING:
    *** Without Bison you will not be able to build PostgreSQL from CVSnor
    *** change any of the parser definition files. You can obtain Bison from
    *** a GNU mirror site.  (If you are using theofficial distribution of
    *** PostgreSQL then you do not need to worry about this, becausethe Bison
    *** output is pre-generated.)
    checking for flex... no
    configure: WARNING:
    *** Without Flex you will not be able to build PostgreSQL from CVSnor
    *** change any of the scanner definition files. You can obtain Flex from
    *** a GNU mirror site.  (If you are using theofficial distribution of
    *** PostgreSQL then you do not need to worry about this because theFlex
    *** output is pre-generated.)
    checking for perl... /usr/bin/perl
    configure: using perl 5.8.8
    checking for main in -lm... yes
    checking for library containing setproctitle... no
    checking for library containing dlopen... -ldl
    checking for library containing socket... none required
    checking for library containing shl_load... no
    checking for library containing getopt_long... nonerequired
    checking for library containing crypt... -lcrypt
    checking for library containing fdatasync... nonerequired
    checking for library containing gethostbyname_r... nonerequired
    checking for library containing shmget... none required
    checking for -lreadline... no
    checking for -ledit... no
    configure: error: readline library notfound
    If you have readline already installed, see config.log for detailson the
    failure.  It is possible the compiler isnt lookingin the proper directory.
    Use --without-readline to disable readlinesupport.
        根据提示,应该是没有安装 readline包。
    3 检查系统是否安装 readline 包
    [root@HK81-107postgresql-9.0.0]# rpm -qa | grep readline
    readline-5.1-3.el5
    
       说明系统已经安装了 readline包。
    4 通过 yum 搜索相关的readline 包
    [root@HK81-107postgresql-9.0.0]# yum search readline
    lftp.i386 : A sophisticated file transfer program
    lftp.i386 : A sophisticated file transfer program
    php-readline.i386 : Standard PHP module provides readline librarysupport
    lftp.i386 : A sophisticated file transfer program
    readline.i386 : A library for editing typed commandlines.
    compat-readline43.i386 : The readline 4.3 library for compatibilitywith older software.
    readline-devel.i386 : Files needed to develop programs which usethe readline library.
    readline.i386 : A library for editing typed command lines.
    
     根据提示,有一个包引起了我的注意 "readline-devel",猜想可能与这个包有关。
     
    5 安装 readline-devel 包
    [root@HK81-107postgresql-9.0.0]# yum -y install -y readline-devel
    Setting up Install Process
    Parsing package install arguments
    Resolving Dependencies
    --> Running transaction check
    ---> Package readline-devel.i386 0:5.1-3.el5 set tobe updated
    --> Processing Dependency: libtermcap-devel forpackage: readline-devel
    --> Running transaction check
    ---> Package libtermcap-devel.i386 0:2.0.8-46.1 setto be updated
    --> Finished Dependency Resolution
    Dependencies Resolved
    
    =============================================================================
     Package                Arch      Version         Repository       Size 
    =============================================================================
    Installing:
     readline-devel         i386      5.1-3.el5       base             146 k
    Installing for dependencies:
     libtermcap-devel       i386      2.0.8-46.1      base              56 k
    Transaction Summary
    =============================================================================
    Install     2Package(s)         
    Update      0Package(s)         
    Remove      0Package(s)        
    Total download size: 201 k
    Downloading Packages:
    (1/2): libtermcap-devel-2 100%|=========================|  56kB   00:00     
    (2/2): readline-devel-5.1 100% |=========================| 146kB   00:00     
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing:libtermcap-devel            ######################### [1/2] 
      Installing:readline-devel              ######################### [2/2]
    Installed: readline-devel.i386 0:5.1-3.el5
    Dependency Installed: libtermcap-devel.i386 0:2.0.8-46.1
    Complete!
    
    6 再次执行 configure 成功。
    
    7 关于 readline 的解释,来自官网
    --without-readline
    Prevents use of the Readline library (and libedit as well). Thisoption disables command-line 
    editing and  history in psql, so it is notrecommended.
       说明: 根据步骤2 执行 configure时报错提示,可以加上 "--without-readline" 从而避开这个ERROR,
    但Postgresql官方不推荐这么做,所以还是安装吧。
    
    本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:https://www.linuxidc.com/Linux/2012-02/53982.htm
  • 相关阅读:
    超强视频分割/剪辑软件-Ultra Video Splitter绿色便携版
    超强视频分割/剪辑软件-Ultra Video Splitter绿色便携版
    ASP.NET做WEB开发的工具选择
    ASP.NET做WEB开发的工具选择
    C#中的局部类型
    OpenCV2:幼儿园篇 第四章 访问图像
    OpenCV2:幼儿园篇 第三章 导出图像
    OpenCV2:幼儿园篇 第二章 读取图像
    OpenCV2:幼儿园篇 第一章 创建图像并显示
    MFC隐藏在黑暗之中的大坑
  • 原文地址:https://www.cnblogs.com/chendian0/p/12710628.html
Copyright © 2020-2023  润新知