Установка 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")