Error when Installing Some Postgresql Packages (Perl IPC-Run)
Fixing perl(IPC::Run) Dependency Error When Installing PostgreSQL 17 on Oracle Linux 8
Background
While preparing a fresh Oracle Linux 8 server for a PostgreSQL 17 deployment, an attempt to install all PostgreSQL packages in one go failed with an unsatisfied dependency error:
Problem 1: cannot install the best candidate for the job
- nothing provides perl(IPC::Run) needed by postgresql17-devel-17.4-1PGDG.rhel8.x86_64
...
Root Cause
The perl(IPC::Run) module (along with several tool‑chain libraries) resides in the CodeReady Builder repository, which is disabled by default on Oracle Linux 8. Because postgresql17-devel and postgresql17-test depend on that module, dnf/yum cannot resolve the full dependency tree unless the repository is enabled.
Solution
-
Enable the CodeReady Builder repository:
sudo dnf config-manager --enable ol8_codeready_builder -
Rerun the installation command:
sudo yum install postgresql17*
With the additional channel enabled, dnf successfully pulled in perl(IPC::Run) and the entire PostgreSQL 17 toolchain (devel, contrib, docs, plperl, plpython, etc.) installed without further issues.
Verification & Post‑Install Tasks
Confirm package presence:
rpm -qa | grep ^postgresql17
Initialize and start the database cluster:
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
sudo systemctl enable --now postgresql-17
Key Takeaways
- Developer packages frequently depend on CodeReady Builder content.
- Check repository status with
dnf repolist allbefore large installs. - Use
--enablerepofor one‑off operations if you prefer not to keep CodeReady Builder enabled permanently.
Comments
Post a Comment