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