Av någon anledning saknas filen i systemet.
När du använder apt-get
, systemet är dpkg
baserad, förmodligen Debian eller dess derivat. Du kan prova Ubuntus paketsökning för att se vilket paket som innehåller en fil med namnet slutar på libpq-fe.h
.
Jag hittade att paketet är libpq-dev
och filens absoluta sökväg är /usr/include/postgresql/libpq-fe.h
.
FWIW, på en dpkg
baserat system kan du kontrollera vilket paket som ger en fil om du känner till filens absoluta sökväg:
% dpkg -S /usr/include/postgresql/libpq-fe.h
libpq-dev: /usr/include/postgresql/libpq-fe.h
Dessutom, till skillnad från find
, locate
behåller en cache över hittade filer (mlocate.db
) som skapas varje dag via cron
; så om filen råkar tas bort efter den senaste körningen kan du köra locate libfq-fe.h
för att få den absoluta sökvägen till filen utan att behöva kontrollera Ubuntu-paketsökningen online.
Så paketet är libpq-dev
. Om du nu installerar om det kommer allt till standardtillståndet, dvs alla relevanta filer kommer att kopieras till rätt ställen. Eftersom det bara är ett bibliotekspaket kommer inga konfigurationer på användar-/systemnivå att åsidosättas (och dpkg
kommer att uppmana dig att vidta åtgärder för alla paket som gör det).
Så här installerar du om paketet:
sudo apt-get install --reinstall libpq-dev