安装RPostgreSQL以连接到Postgres.app

3

我正在尝试在运行OSX 10.9.5(Mavericks)和R 13.4.0(Darwin)的Mac上安装RPostgreSQL。我猜想我的系统上没有正在运行的Postgres安装,因为从终端执行以下命令:

% which postgres
postgres not found

我使用[Postgres.app][1]

我尝试从源代码安装RPostgreSQL

[1]: https://postgresapp.com/
library(devtools)
install('~/Downloads/rpostgresql-read-only/RPostgreSQL')

但是我遇到了错误

clang: error: unknown argument: '-Kthread'
clang: error: unknown argument: '-kthread'
make[1]: *** [fe-auth.o] Error 1
make: *** [libpq/libpq.5.dylib] Error 2
ERROR: compilation failed for package ‘RPostgreSQL’
* removing ‘/Library/Frameworks/R.framework/Versions/3.1/Resources/library/RPostgreSQL’
Error: Command failed (1)

这个术语并不是十分易懂。我在谷歌上搜索了一下,但没有发现与RPostgreSQL相关的内容。

2个回答

0

这篇博客中描述了一个可能更加用户友好的方法,底部还有PecanProject GitHub仓库问题线程的附加注释。

您可能需要手动链接到包含pg_config文件的目录,以解决'libpq-fe.h' file not found问题。 在我的情况下,该命令与PecanProject问题线程中提到的命令不同:

sudo ln -s /usr/local/Cellar/postgresql/9.4.0/bin/pg_config /usr/local/bin/

然后我不得不

sudo ln -s /usr/local/Cellar/postgresql /usr/local/opt/postgresql

解决 Library not loaded: /usr/local/opt/postgresql/lib/libpq.5.dylib 错误的方法。

最后感谢Chris Chou提供的建议。


0

我成功地进行了一个黑客式的安装,通过从MakeFile.global.darwin中删除2个-KThread标志。我无法告诉你-KThread标志是什么以及为什么需要它,但它似乎可以在Mavericks(10.9.5)上正常安装。

PTHREAD_CFLAGS = -Kthread -kthread -pthread -pthreads -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS

更改为

PTHREAD_CFLAGS = -pthread -pthreads -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS


成功了。我能够安装这个包。但是在编译的不同阶段,我也收到了 clang: warning: argument unused during compilation: '-pthread' clang: warning: argument unused during compilation: '-pthreads' 的警告。你有收到相同的警告吗? - CptNemo
我确实收到了同样的警告。 - Trent
在长时间的挣扎后,我找到了一些更有帮助的东西。事实上,我正在尝试连接到Redshift,而不仅仅是Postgres。这个链接可能也会对你有所帮助。https://github.com/pingles/redshift-r - Trent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接