Problems instaling libpq-dev in ubuntu 20.04

Viewed 19251

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.
12 Answers

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

Latest version (still works as of June '22):

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

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.

This worked for me:

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

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.

I had to download this package and run

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

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

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

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.

Update package worked for me:

sudo apt update
sudo apt install libpg-dev
Related