Z nějakého důvodu soubor v systému chybí.
Když používáte apt-get
, systém je dpkg
založené, pravděpodobně Debian nebo jeho derivát. Můžete zkusit hledání balíčků Ubuntu a zjistit, který balíček obsahuje soubor s názvem končícím na libpq-fe.h
.
Zjistil jsem, že balíček je libpq-dev
a absolutní cesta souboru je /usr/include/postgresql/libpq-fe.h
.
FWIW, na dpkg
Pokud znáte absolutní cestu k souboru, můžete zkontrolovat, který balíček dává soubor:
% dpkg -S /usr/include/postgresql/libpq-fe.h
libpq-dev: /usr/include/postgresql/libpq-fe.h
Také na rozdíl od find
, find
uchovává mezipaměť nalezených souborů (mlocate.db
), který se vytváří každý den pomocí cron
; takže pokud dojde k odstranění souboru po posledním spuštění, můžete spustit locate libfq-fe.h
abyste získali absolutní cestu k souboru, aniž byste museli kontrolovat online vyhledávání balíčků Ubuntu.
Balíček je tedy libpq-dev
. Nyní přeinstalací dostane vše do výchozího stavu, tj. všechny relevantní soubory budou zkopírovány na správná místa. Protože se jedná pouze o balíček knihovny, nebudou přepsány žádné konfigurace na úrovni uživatele/systému (a dpkg
vás vyzve k akci pro každý balíček, který to dělá).
Přeinstalování balíčku:
sudo apt-get install --reinstall libpq-dev