2014-10-10 21 views
10

Tôi có RHEL 6.5 Server với một cài đặt của R (3.1.1) & RStudioServer (0.98.1062)Install RPostgreSQL trên RHEL 6.5 libpq-fe.h Lỗi

Tôi đã postgresql-9,3 được cài đặt và xử lý một lượng lớn cơ sở dữ liệu. Để kết nối R với PostgreSQL, trước đây tôi đã sử dụng RPostgreSQL (vẫn làm trên CentOS 7 Workstation của tôi). Tuy nhiên, cố gắng để biên dịch dưới RHEL 6.5, chúng ta nhận được một lỗi

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

Các tập tin nằm trên hệ thống của tôi ở đây:

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

Libpq là một phần của quá trình cài đặt Postgres, nhưng RPostgreSQL không thể tìm thấy nó:

[[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 

Có cách nào để thông báo cho RPostgreSQL nơi cần tìm (liên kết tượng trưng?) Hoặc một số cách giải quyết khác không? Điều này sẽ đơn giản, nhưng tôi đã lãng phí vài giờ về điều này rồi ...

+0

Tôi đã kết thúc tìm trong tệp cấu hình RPostgreSQL trong tarball, tìm kiếm tên tệp mà tập lệnh không thể tìm thấy và quyết định dễ dàng nhất để tạo biến môi trường: xuất PG_INCDIR =/usr/pgsql-9.3/include/ –

Trả lời

21

thông tin followup bởi vì tôi chỉ có cùng một vấn đề.
Cài đặt yum install postgresql-devel cũng sẽ khắc phục lỗi.

+1

làm việc cho tôi trên Mac: brew install postgresql -devel. Nó cần một khoảng trống giữa "postgresql" và "-devel" –

6

Tôi đã kết thúc tìm trong tệp cấu hình RPostgreSQL trong tarball, tìm kiếm tên tệp mà tập lệnh không thể tìm thấy và đã quyết định dễ nhất để tạo một biến môi trường:

PG_INCDIR xuất khẩu =/usr/pgsql-9,3/include/

Làm việc như một nét duyên dáng sau đó.

Nếu bạn có quyền sudo, bạn cũng có thể thử:

yum install postgresql-devel

+1

Nếu tệp RPostgreSQL vẫn không thể tìm thấy đường dẫn, hãy thử thêm liên kết tượng trưng vào vị trí của gói đã cài đặt. Ví dụ 'sudo ln -s /usr/pgsql-9.4//usr/local/pgsql' – NoelProf

Các vấn đề liên quan