Om de een of andere reden ontbreekt het bestand op het systeem.
Zoals u apt-get
. gebruikt , het systeem is dpkg
gebaseerd, vermoedelijk Debian of zijn afgeleide. U kunt de pakketzoekopdracht van Ubuntu proberen om te achterhalen welk pakket een bestand bevat met de naam eindigend op libpq-fe.h
.
Ik ontdekte dat het pakket libpq-dev
. is en het absolute pad van het bestand is /usr/include/postgresql/libpq-fe.h
.
FWIW, op een dpkg
gebaseerd systeem, kunt u controleren welk pakket een bestand geeft als u het absolute pad van het bestand kent:
% dpkg -S /usr/include/postgresql/libpq-fe.h
libpq-dev: /usr/include/postgresql/libpq-fe.h
Ook, in tegenstelling tot find
, locate
houdt een cache bij van gevonden bestanden (mlocate.db
) die elke dag wordt gemaakt via cron
; dus als het bestand na de laatste keer wordt verwijderd, kun je locate libfq-fe.h
uitvoeren om het absolute pad naar het bestand te krijgen zonder de Ubuntu-pakketzoekopdracht online te hoeven controleren.
Het pakket is dus libpq-dev
. Als u het nu opnieuw installeert, krijgt alles de standaardstatus, d.w.z. alle relevante bestanden worden naar de juiste plaatsen gekopieerd. Aangezien het slechts een bibliotheekpakket is, worden er geen configuraties op gebruikers-/systeemniveau overschreven (en dpkg
zal u om actie vragen voor elk pakket dat dat doet).
Om het pakket opnieuw te installeren:
sudo apt-get install --reinstall libpq-dev