Установка RPostgreSQL на Debian с PostgreSQL 9.4 Ошибка libpq-fe.h

У меня есть R (3.1.1) и PostgreSQL 9.4, установленные на Debian 7.6.

I want to install RPostgreSQL but the compilation fails with the following error:
In file included from RS-PQescape.c:7:0:                                       
RS-PostgreSQL.h:23:26: fatal error: libpq-fe.h: No such file or directory      
compilation terminated.                                                        
make: *** [RS-PQescape.o] Error 1                                              
ERROR: compilation failed for package ‘RPostgreSQL’                            
* removing ‘/home/mert/R/x86_64-pc-linux-gnu-library/3.1/RPostgreSQL’          

Предыдущий вопрос об этом error говорит о том, что файл включен здесь:

/usr/pgsql-9.3/include/libpq-fe.h

Я искал на своем компьютере для pgsql и libpq, но такого файла вообще не существует:

$ locate libpq                              
/usr/lib/postgresql/9.4/lib/libpqwalreceiver.so                                
/usr/lib/x86_64-linux-gnu/libpq.so.5                                           
/usr/lib/x86_64-linux-gnu/libpq.so.5.7                                         
/usr/share/doc/libpq5 

$ locate pgsql
/usr/lib/postgresql/9.4/lib/plpgsql.so                                         
/usr/share/postgresql/9.4/extension/plpgsql--1.0.sql                           
/usr/share/postgresql/9.4/extension/plpgsql--unpackaged--1.0.sql               
/usr/share/postgresql/9.4/extension/plpgsql.control  

Есть ли у вас какие-либо идеи по решению этой проблемы?

Ответ 1

На вашей машине отсутствует libpq-dev. Откройте командную строку и установите ее, используя apt-get. После установки попробуйте установить RPostgreSQL в R-Studio.

sudo apt-get install libpq-dev

Или для Arch Linux:

sudo pacman -S postgresql-libs

Ответ 2

Добавление к предыдущим ответам в случае ошибок, даже когда libpq-dev уже установлен. На Ubuntu 16.04 с установленным libpq-dev мой libpq-fe.h сидел в /usr/include/postgresql/, но функция R install packages все еще не могла его найти. После загрузки последней сборки RPostgreSQL из CRAN я просмотрел ее файл конфигурации и увидел, что эта папка была указана в ней как вероятное место для файлов конфигурации postgres, что заставило меня поверить, что это была проблема с разрешениями, и, да,

sudo R CMD INSTALL RPostgreSQL_0.4-1.tar.gz 

решил ситуацию.

Ответ 3

Мне удалось установить RPostgreSQL на Ubuntu 14.04, используя следующее:

system('gksudo "apt-get -y install postgresql-9.3 libpq-dev"')
install.packages("RPostgreSQL")