Problems instaling libpq-dev in ubuntu 20.04

Question:

I am currently trying to install libpq-dev to install psycopg2. The problem is, when I try to install it, an error occurs saying I don’t have the latest libpq5 version. However when I try to download the newer version of libpq5 the system says that I already have the latest version. An example of the error.

lhmendes@lhmendes-GA-78LMT-S2P:~$ sudo apt-get install libpq-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libpq-dev : Depends: libpq5 (= 12.4-0ubuntu0.20.04.1) but 12.4-1.pgdg20.04+1 is to be installed
E: Unable to correct problems, you have held broken packages.
lhmendes@lhmendes-GA-78LMT-S2P:~$ sudo apt-get install libpq5
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libpq5 is already the newest version (12.4-1.pgdg20.04+1).
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Asked By: lhmmendes

||

Answers:

I would say you have installed the latest libpq (12.4-1) but libpq-dev needs older version (12.4-0) and this makes problem.

You may try to install older libpq

 apt-get install libpq==12.4-0ubuntu0.20.04.1

but if other program uses the latest version then older version can make problem with this program.

pgdg20 in 12.4-1.pgdg20.04+1 means it is not module from standard ubuntu repo but from some other repo – probably postgresql repo – and maybe this repo has also the latest version libpq-dev. You would search 12.4-1.pgdg20.04+1 in Google and maybe you could find also libpg-dev with 12.4-1.pgdg20.04+1


I found libpq-dev 12.4-1.pgdg20.04+1 and you can download .deb file and install it.

Or you can add this postgresql repo and install with apt-get. This method will also inform about updates and then you could install updates automatically.

Answered By: furas

Any newer version of libpq5 can cause this error. In my case it was libpq5=13.1-1.pgdg20.04+1.
It’s the similar answer as furus has given but the change is it’s libpq5 in ubuntu 20.04 (atleast in my case).
I fixed the issue by installing

sudo apt-get install libpq5=12.5-0ubuntu0.20.04.1

and then install liqpq-dev again

sudo apt-get install libpq-dev
Answered By: Yash singh Bishen

This worked for me:

sudo apt-get install libpq5=12.7-0ubuntu0.20.04.1
Answered By: Pramod Shinde

I had to download this package and run

sudo dpkg -i ~/Downloads/libpq-dev_13.3-1.pgdg20.04+1_amd64.deb

Answered By: Maysam Torabi

I think this is because your libpg-dev is depending on libpg5=12.4-0ubuntu0.20.04.1 but 12.4-1.pgdg20.04+1 is to be installed in your machine that is why the error occurs when you sudo apt-get install libpg-dev.

Therefore you can try sudo apt-get install libpg5=12.4-0ubuntu0.20.04.1 first,
after that, sudo apt-get install libpg-dev.

I did this way to solve my problem which was similar to yours.

Answered By: Ng WS

I have the same problem when I install psycopg2-binary, It seems like it is caused by repository conflict.

In software & Updates => other software

Unselect https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/focal.

sudo apt-get remove libpg5

sudo apt-get install libpg5 libpg-dev

Solved my problem

Answered By: SY.Jian

if you are trying to install it on Ubuntu 20.04 then run below command to install libpq-dev

Command1: sudo apt-get install libpq5=12.2-4

Command2:
sudo apt install libpq-dev

Link: https://ubuntu.pkgs.org/20.04/ubuntu-main-arm64/libpq-dev_12.2-4_arm64.deb.html

Answered By: Md Yusuf Alam

As of April 2023 the command is:

sudo apt-get install libpq5=12.12-0ubuntu0.20.04.1 && sudo apt-get install libpq-dev

When you’re using Ubuntu 22.04 try:

sudo apt-get install libpq5=14.5-0ubuntu0.22.04.1 && sudo apt-get install libpq-dev
Answered By: picklepick

Update package worked for me:

sudo apt update
sudo apt install libpg-dev
Answered By: Jazz

This problem persists in 22.04:

Os pacotes a seguir têm dependências desencontradas:
 libpq-dev : Depende: libpq5 (= 14.3-0ubuntu0.22.04.1) mas 14.4-1.pgdg22.04+1     está para ser instalado

I had to revert libpq5 as per the error message above:

sudo apt-get install libpq5=14.3-0ubuntu0.22.04.1
Answered By: JCCyC

You can find the latest version here.
https://packages.ubuntu.com/bionic/libpq-dev

Answered By: Muriithi Derrick

What worked in my case was.

sudo apt-get install libpq5=14.5-0ubuntu0.22.04.1

The libpq5 package that worked for me corresponds to my version of ubuntu I found it at:

https://pkgs.org/download/libpq-dev

For ubuntu version 22.04.1

Then I was able to use sudo apt-get install libpq-dev without problems.

Answered By: Bryan Masias

The only solution that worked for me is

sudo apt-get install libpq5=14.5-0ubuntu0.22.04.1

sudo apt-get install libpq-dev

then

pip install psycopg2

Yes, upvote when this works for you.
Good luck.

Answered By: NMukama

This issue was fixed in pgadmin repo: it now provides a matching version of libpq-dev along with libpq5. You can update both packages to the latest version and remove pins (unless there is yet another flawed provider of the libpq5 package in your apt sources).

$ dpkg -l libpq*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version            Architecture Description
+++-==============-==================-============-============================================
ii  libpq-dev      15.1-1.pgdg20.04+1 amd64        header files for libpq5 (PostgreSQL library)
ii  libpq5:amd64   15.1-1.pgdg20.04+1 amd64        PostgreSQL C client library
Answered By: salmin