2014-10-10 11 views
10

mam RHEL 6,5 serwera z instalacją R (3.1.1) & RStudioServer (0.98.1062)Instalacja RPostgreSQL na RHEL 6,5 libpq-fe.h błąd

został zainstalowany postgresql-9.3 i przenoszenia dużych Baza danych. Aby połączyć R z PostgreSQL, w przeszłości używałem RPostgreSQL (nadal działa na mojej CentOS 7 Workstation). Jednak próby skompilować pod RHEL 6.5 pojawia się błąd

In file included from RS-PQescape.c:7: 
RS-PostgreSQL.h:23:26: error: libpq-fe.h: No such file or directory 

Plik znajduje się w moim systemie tutaj:

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

libpq jest częścią instalacji PostgreSQL, ale RPostgreSQL nie może go znaleźć:

[[email protected] /]# yum list libpq* 
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager 
Installed Packages 
libpqxx.x86_64  1:4.0.1-1.rhel6            @pgdg93 
libpqxx-debuginfo.x86_64  1:4.0.1-1.rhel6          @pgdg93 
libpqxx-devel.x86_64 1:4.0.1-1.rhel6           @pgdg93 

Czy istnieje jakiś sposób, aby powiedzieć RPostgreSQL gdzie szukać (linki symboliczne?) albo jakieś inne obejście? To powinno być proste, ale już zmarnowałem kilka godzin ...

+0

Skończyło się na zapoznaniu się z plikiem konfiguracyjnym RPostgreSQL w archiwum tar, szukałem nazwy pliku, którego skrypt nie mógł znaleźć i zdecydowałem, że najłatwiej jest utworzyć zmienną środowiskową: export PG_INCDIR =/usr/pgsql-9.3/include/ –

Odpowiedz

21

Followup informacji, bo po prostu miał ten sam problem.
Instalowanie yum install postgresql-devel rozwiązuje również błąd.

+1

pracował dla mnie na Macu: brew install postgresql -devel. Potrzebuje przestrzeni między "postgresql" i "-devel" –

6

Skończyło się na sprawdzeniu pliku konfiguracyjnego RPostgreSQL w archiwum tar, szukałem nazwy pliku, którego skrypt nie mógł znaleźć i zdecydował, że najłatwiej utworzyć zmiennej środowiskowej:

eksport PG_INCDIR =/usr/pgsql-9,3/include/

Pracował jak czar po tym.

Jeśli masz prawa sudo, można też spróbować:

yum install postgresql-devel

+1

Jeśli plik RPostgreSQL nadal nie może znaleźć ścieżki, spróbuj dodać link symboliczny do lokalizacji zainstalowanego pakietu. Na przykład 'sudo ln -s /usr/pgsql-9.4//usr/local/pgsql' – NoelProf