When setting up a Postgresql test environment, I encountered a problem during the installation process and executed configure The following error was reported during the process, configure: error: readline library not found, colleagues said that it has been installed in the system Readline package, let me help him see. 1 Environmental Information OS: CentOS release 5.2 (Final) PG: postgresql-9.0.0] 2 When prompted, I tested under configre command, and she reported this wrong [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. According to the prompt, the readline package should not be installed. 3 Check whether the system installs the readline package [root@HK81-107postgresql-9.0.0]# rpm -qa | grep readline readline-5.1-3.el5 This indicates that the system has installed the readline package. 4 Search related readline packages via yum [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. According to the prompt, there is a package that caught my attention " readline-devel " , and the guess may be related to this package. 5 install readline- devel package [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 Execute configure again successfully. 7 Explanation of readline, from the official website --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. Explanation: According to step 2, when configure is executed, an error message is reported. You can add " --without-readline " to avoid this ERROR, However, Postgresql does not recommend this, so install it. This article is from the Linux Commune website (www.linuxidc.com) Original link: https: // www.linuxidc.com/Linux/2012-02/53982.htm