RPostgreSQL安装错误 - RPostgreSQL.so:未定义符号:PQpass

时间:2014-05-23 05:24:03

标签: r postgresql centos rpostgresql

我正在尝试安装R-Package RPostgreSQL,但收到以下错误,

Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/usr/lib64/R/library/RPostgreSQL/libs/RPostgreSQL.so': /usr/lib64/R/library/RPostgreSQL/libs/RPostgreSQL.so: undefined symbol: PQpass Error: loading failed Execution halted ERROR: loading failed * removing ‘/usr/lib64/R/library/RPostgreSQL’

我安装了libpqpostgresql-dev。所有库文件都在目录

/usr/lib64/pgsql/并且所有头文件都在目录

/usr/include/pgsql/

Postgre版本 - 9.3.4 R版本 - 3.0.2 操作系统 - CentOS-6.4

我错过了一些小事,但无法找出原因。

我做错了什么?如何纠正这个?

谢谢:)

2 个答案:

答案 0 :(得分:7)

看起来pgsql库不再安装在以前的位置。我把两者联系起来:

ln -s /usr/pgsql-9.3/lib /usr/lib/pgsql

ln -s /usr/pgsql-9.3/include /usr/include/pgsql

这对我有用:)

答案 1 :(得分:5)

软件包RPostgreSQL仅在以下目录路径中检查PostgreSQL库,

    /usr/lib 
/usr/lib/pgsql 
/usr/lib/postgresql 
/usr/local/lib 
/usr/local/lib/pgsql 
/usr/local/lib/postgresql 
/usr/local/pgsql/lib 
/usr/local/postgresql/lib 
/opt/lib 
/opt/lib/pgsql 
/opt/lib/postgresql 
/opt/local/lib 
/opt/local/lib/postgresql 
/opt/local/lib/postgresql84 
/sw/opt/postgresql-8.4/lib 
/Library/PostgresPlus/8.4SS/lib 
/sw/lib

它不会检查LD_LIBRARY_PATH/etc/ld.so.conf中的目录。

只有当PostgreSQL库存在于上述任何目录中时,RPostgreSQL安装才会成功。

当我将库从/usr/lib64/pgsql复制到/usr/lib/pgsql并尝试安装软件包时。有效。 :)