Man*_*j G 4 postgresql r 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’
我libpq和postgresql-dev安装.所有库文件都在目录中
/usr/lib64/pgsql/ 并且所有头文件都在目录中
/usr/include/pgsql/
Postgre版本 - 9.3.4
R版本 - 3.0.2
操作系统 -CentOS-6.4
我错过了一些小事,但无法找出为什么会发生这种情况.
我究竟做错了什么?怎么纠正这个?
谢谢 :)
看起来pgsql库不再安装在以前的位置.我联系了两个:
ln -s /usr/pgsql-9.3/lib /usr/lib/pgsql
ln -s /usr/pgsql-9.3/include /usr/include/pgsql
Run Code Online (Sandbox Code Playgroud)
这对我有用:)
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
Run Code Online (Sandbox Code Playgroud)
它不检查in LD_LIBRARY_PATH或in中的目录/etc/ld.so.conf.
因此,只有PostgreSQL库存在于上述任何目录中时,RPostgreSQL安装才会成功.
当我将库复制/usr/lib64/pgsql到/usr/lib/pgsql并尝试安装包时.有效.:)