1

我正在尝试在运行 OS X 10.7.5、Postgres 9.2 和 R 2.15.2 的 MacBook Pro 上安装 PL/R 8.3.0.13.1。我在网上找到了一个很好的 Windows 分步指南 ,但我找不到任何与 Mac 类似的东西。
当我运行这个命令时我卡住了[作为官方文档](http://www.joeconway.com/plr/doc/plr-install.html):

USE_PGXS=1 make

输出:

make: pkg-config: Command not found
make: pkg-config: Command not found
make: pkg-config: Command not found
make: pkg-config: Command not found
make: pkg-config: Command not found

*** Cannot build PL/R because R_HOME cannot be found.
*** Refer to the documentation for details.

显然,这意味着我需要以某种方式创建 R_HOME、变量和/或位置......

知道怎么做吗?

4

2 回答 2

1

错误消息实际上有点令人困惑。如果您查看 PL/R 的 Makefile,逻辑是它R_HOME在设置时用于查找 R,否则它会尝试pkg-config. 你没有设置,所以它会退出。

如果可能的话,我建议走这pkg-config条路线。该R_HOME路线似乎假设了一种可能不普遍适用的 R 安装方案。也许它适用于直接从源代码构建。

以上适用于所有平台。现在在 OS X 上,这取决于你如何安装 R。例如,如果你使用 MacPorts,它会变成这样:

sudo port install pkgconfig
sudo port install R

然后自己构建 PL/R:

make USE_PGXS=1

但这会中断,因为 PL/R 不希望 MacPorts 将 R 头文件分成两个单独的目录(我想是架构相关和独立的)。

Homebrew 可能会更好,但原理是一样的。

于 2013-01-24T18:45:42.573 回答
0

您需要弄清楚应该设置 PLR 环境 R_HOME 变量的内容。在终端会话中,我得到了这个

computername:~ username$ R RHOME      #only enter stuff after"$"
/Library/Frameworks/R.framework/Resources

这是您链接到的页面的底部:

“提示:R_HOME 必须在启动 PostgreSQL 的用户环境中定义,在启动 postmaster 之前。否则 PL/R 将拒绝加载。请参阅 plr_environ(),它允许检查 PostgreSQL postmaster 可用的环境过程。 ”

这是来自描述问题并提供修复的网页

To fix: Add a "R_HOME = '/usr/lib/R' " to /etc/postgresql/version/cluster/environmen

Example Fix for version 8.1:
 $ sudo -s
 # echo -e "\nR_HOME = '/usr/lib/R'" >> /etc/postgresql/8.1/main/environment
 # exit

To Test:
 $ sudo /etc/init.d/postgresql-8.1 restart
 $ sudo -u postgres psql plr_test
 plr_test=# select test();
  test
 ------
于 2013-01-24T00:21:53.493 回答