When trying to build PostgreSQL from source, the error message “configure: error: readline library not found in Postgresql” usually appears. To know more about and fix the issue quickly, here is our latest post. At Bobcares, with our PostgreSQL Support Services, we can handle your issues.
Overview
Understanding “configure: error: readline library not found in PostgreSQL”
The error message “configure: error: readline library not found” happens when we’re trying to build PostgreSQL from source. It means PostgreSQL can’t find the Readline library. This library is needed for editing command line inputs when using its interactive terminal (psql). The Readline library lets us edit text and use command history features. When we run the ./configure script during the PostgreSQL setup, it checks if this library is available. If it isn’t, the setup stops and shows this error.
Common Causes of the Error
Some of the common causes that may lead to the error includes:
- Missing Development Package: The most frequent causes are either the development package or an uninstalled Readline library. The header files and libraries needed to compile software using Readline are included in the development package.
- Incorrect Library Paths: The configure script might not locate the Readline library if it is installed but not in the anticipated directories. Use of custom installation paths may cause this.
- Environment Variables: The compiler may fail to recognize the installed libraries if environment variables like LD_LIBRARY_PATH or PKG_CONFIG_PATH are not configured correctly.
- Version Compatibility: Problems could also arise if the Readline version installed is not compatible with the PostgreSQL version being produced.
Fixes for the Error
1. Install the Readline Development Package: The package manager can be used to install the Readline development package on the majority of Linux systems. The commands for various systems are as follows:
Ubuntu/Debian: sudo apt-get install libreadline-dev
CentOS/RHEL: sudo yum install readline-devel
Fedora: sudo dnf install readline-devel
We can also set up the necessary files with these commands for the configure script to find the Readline library.
2. Verify Installation Paths: Make sure the library files are in the correct places if we have installed Readline but are still seeing this problem. One can look at the shared directories:
ls /usr/lib | grep readline ls /usr/include | grep readline
If the files are located in non-standard directories, we may need to specify these paths during the configuration step:
./configure --with-includes=/path/to/readline/include --with-libs=/path/to/readline/lib
3. Set Environment Variables: We must also verify that the environment variables are configured appropriately if the library is installed but cannot be found. The following can be included in the shell configuration file.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
Then, run source ~/.bashrc to apply the changes.
4. Use –without-readline Option: We can set PostgreSQL to build without Readline support if that is not a requirement for user. One way to achieve this is to run:
./configure --without-readline
If we plan to use the interactive aspects of psql, this is not a good option.
[Need to know more? Click here to reach us.]
Conclusion
In conclusion, the “readline library not found” error typically arises due to missing Readline development packages, incorrect library paths, or misconfigured environment variables. In order to resolve it, ensure that the necessary Readline package is installed, verify that the library files are in the correct directories, and set environment variables if needed. Alternatively, if Readline support is not required, PostgreSQL can be compiled without it. By addressing these issues with the steps from our Support Team, we can successfully complete the PostgreSQL build process.
0 Comments