安装RPostgreSQL以连接到Postgres.app

时间:2014-11-30 04:52:16

标签: r macos postgresql

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

% which postgres
postgres not found

我使用[Postgres.app][1]

我尝试从source

安装RPostgreSQL
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 :(得分:0)

我可以通过从MakeFile.global.darwin中删除2 -KThread标志来进行黑客安装。我无法告诉你-KThread标志是什么以及为什么需要它,但它似乎适合小牛队(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

答案 1 :(得分:0)

this blog处描述了一种可能更加用户友好的方法,并在PecanProject GitHub repo issue thread底部添加了其他注释。

您可能必须手动链接到包含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的最后一个小费。