PostgreSQL教程:configure: error: readline library not found
在搭建Postgresql测试环境,在安装过程中遇到一个问题,在执行 configure过程中报以下错误,configure: error: readline library
过程中报以下错误,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官方不推荐这么做,所以还是安装吧。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

MySQL und PostgreSQL: Best Practices in der Webentwicklung Einführung: In der modernen Welt der Webentwicklung sind Datenbanken ein wesentlicher Bestandteil. Bei der Auswahl einer Datenbank werden häufig MySQL und PostgreSQL gewählt. In diesem Artikel werden Best Practices für die Verwendung von MySQL und PostgreSQL in der Webentwicklung behandelt und einige Codebeispiele bereitgestellt. 1. Anwendbare Szenarien MySQL eignet sich für die meisten Webanwendungen, insbesondere für solche, die hohe Leistung, Skalierbarkeit und Benutzerfreundlichkeit erfordern.

MySQL und PostgreSQL: Leistungsvergleich und Optimierungstipps Bei der Entwicklung von Webanwendungen ist die Datenbank ein unverzichtbarer Bestandteil. Bei der Auswahl eines Datenbankverwaltungssystems sind MySQL und PostgreSQL zwei gängige Optionen. Bei beiden handelt es sich um relationale Open-Source-Datenbankverwaltungssysteme (RDBMS), es gibt jedoch einige Unterschiede in der Leistung und Optimierung. In diesem Artikel wird die Leistung von MySQL und PostgreSQL verglichen und einige Optimierungstipps gegeben. Leistungsvergleich im Vergleich zweier Datenbankverwaltungen

MySQL und PostgreSQL: Datensicherheit und Backup-Strategien Einführung: In der modernen Gesellschaft sind Daten zu einem unverzichtbaren Bestandteil des Geschäfts- und Privatlebens geworden. Für Datenbankverwaltungssysteme sind Datensicherheit und Backup-Strategien von entscheidender Bedeutung, um sowohl Daten vor Verlust oder Beschädigung zu schützen als auch die Zuverlässigkeit und Integrität wiederhergestellter Daten sicherzustellen. Dieser Artikel konzentriert sich auf die Datensicherheits- und Sicherungsstrategien zweier gängiger relationaler Datenbanksysteme, MySQL und PostgreSQL. 1. Datensicherheit: (1) Rechte des Nutzers

Die Go-Sprache ist eine schnelle und effiziente Programmiersprache, die sich zum Erstellen von Webdiensten und Back-End-Anwendungen eignet. PostgreSQL ist ein relationales Open-Source-Datenbankverwaltungssystem, das eine höhere Zuverlässigkeit, Skalierbarkeit und Datensicherheit verspricht. In diesem Artikel befassen wir uns ausführlich mit der Verwendung von PostgreSQL in Go und geben einige praktische Codebeispiele und Tipps. PostgreSQL installieren und einrichten Zuerst müssen wir PostgreSQL installieren und einrichten. Zu finden auf der offiziellen Website

Erlernen Sie die Datenbankfunktionen in der Go-Sprache und implementieren Sie das Hinzufügen, Löschen, Ändern und Abfragen von PostgreSQL-Daten. In der modernen Softwareentwicklung ist die Datenbank ein unverzichtbarer Bestandteil. Als leistungsstarke Programmiersprache bietet die Go-Sprache eine Fülle von Datenbankbetriebsfunktionen und Toolkits, mit denen sich problemlos Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge der Datenbank implementieren lassen. In diesem Artikel erfahren Sie, wie Sie Datenbankfunktionen in der Go-Sprache erlernen und die PostgreSQL-Datenbank für tatsächliche Vorgänge verwenden. Schritt 1: Installieren Sie den Datenbanktreiber in der Go-Sprache für jede Datenbank

Mit der Entwicklung der Datenbanktechnologie bieten Datenbankverwaltungssysteme auch eine Vielzahl von Möglichkeiten. Entwickler können entsprechend ihren Anforderungen und Vorlieben die am besten geeignete Datenbank auswählen. Als fortschrittliches relationales Open-Source-Datenbanksystem erregt PostgreSQL bei Entwicklern immer mehr Aufmerksamkeit und Nutzung. Wie nutzt man also die PostgreSQL-Datenbank in der PHP-Programmierung? 1. Installieren und konfigurieren Sie die PostgreSQL-Datenbank. Bevor Sie PostgreSQL verwenden können, müssen Sie diese zunächst installieren und konfigurieren. Erste

Mit der Entwicklung des Internets wachsen die Datenmengen immer weiter und der Bedarf an Datenmanagement wird immer dringlicher. Relationale Datenbanken sind eine wichtige Methode der Datenverwaltung, wobei PostgreSQL aufgrund seiner Flexibilität, Skalierbarkeit und Sicherheit beliebt ist. In diesem Artikel wird erläutert, wie Sie die PHP-Sprache zum Implementieren einer relationalen Open-Source-PostgreSQL-Datenbank verwenden. Ich hoffe, dass er für Entwickler mit entsprechenden Anforderungen hilfreich ist. Überblick PostgreSQL ist ein leistungsstarkes relationales Datenbanksystem, das dem SQL-Standard folgt und über viele davon verfügt

MySQL und PostgreSQL: Wie optimiert man die Leistung von Datenbankabfragen? Überblick: Die Leistung von Datenbankabfragen ist ein wichtiger Gesichtspunkt bei der Entwicklung von Anwendungen. Eine gute Abfrageleistung verbessert die Reaktionsfähigkeit der Anwendung und das Benutzererlebnis. In diesem Artikel werden einige Methoden zur Optimierung der Datenbankabfrageleistung vorgestellt, wobei der Schwerpunkt auf zwei häufig verwendeten Datenbanken liegt: MySQL und PostgreSQL. Optimierung von Datenbankindizes: Datenbankindizes sind ein wichtiger Faktor zur Verbesserung der Abfrageleistung. Indizes können die Datensuche beschleunigen und die Zeit für das Scannen von Abfragen verkürzen.
