Pour une raison quelconque, le fichier est manquant sur le système.
Comme vous utilisez apt-get
, le système est dpkg
basé, vraisemblablement Debian ou son dérivé. Vous pouvez essayer la recherche de packages d'Ubuntu pour savoir quel package contient un fichier dont le nom se termine par libpq-fe.h
.
J'ai trouvé que le paquet est libpq-dev
et le chemin absolu du fichier est /usr/include/postgresql/libpq-fe.h
.
FWIW, sur un dpkg
basé sur le système, vous pouvez vérifier quel paquet donne un fichier si vous connaissez le chemin absolu du fichier :
% dpkg -S /usr/include/postgresql/libpq-fe.h
libpq-dev: /usr/include/postgresql/libpq-fe.h
De plus, contrairement à find
, locate
conserve un cache des fichiers trouvés (mlocate.db
) qui est créé tous les jours via cron
; donc si le fichier est supprimé après la dernière exécution, vous pouvez exécuter locate libfq-fe.h
pour obtenir le chemin absolu du fichier sans avoir à vérifier la recherche de packages Ubuntu en ligne.
Donc le paquet est libpq-dev
. Maintenant, le réinstaller ramènera tout à l'état par défaut, c'est-à-dire que tous les fichiers pertinents seront copiés aux bons endroits. Comme il ne s'agit que d'un package de bibliothèque, aucune configuration au niveau utilisateur/système ne sera remplacée (et dpkg
vous demandera d'agir pour tout paquet qui fait cela).
Pour réinstaller le package :
sudo apt-get install --reinstall libpq-dev