问题在OS X 10.5.8上配置RApache

时间:2010-02-26 19:48:18

标签: apache macos r apache2 rapache

我一直在尝试在运行OS X 10.5.8的Macbook Pro上正确设置RApache。成功安装RApache后(我认为),我按照手册中的建议将以下内容添加到httpd.conf文件中。

LoadModule R_module /apache/module/path/mod_R.so 
ROutputErrors
<Location /RApacheInfo> 
    SetHandler r-info 
</Location> 

通过这些添加,我可以成功转到http://localhost/RApacheInfo并查看状态信息。如果我添加以下附加行, REvalOnStartup“library(brew)” 我无法再成功加载RApacheInfo页面。

我不知道这里的问题是什么。没有REvalOnStartup调用,我在Apache错误日志中看到以下内容。

[Fri Feb 26 11:36:36 2010] [notice] Apache/2.2.13 (Unix) mod_ssl/2.2.13 OpenSSL/0.9.7l DAV/2 mod_R/1.1.8 R/2.10.1 configured -- resuming normal operations
The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.
The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.

不是一个好兆头。有关可能发生的事情的任何想法?或者要检查的事情?

克里斯

1 个答案:

答案 0 :(得分:2)

我不确定为什么你只是在加载库时遇到这个错误,但我们在Leopard上看到了这个问题,因为Apple的freetype / fontconfig / cairo库调用了CoreFoundation调用:

http://finzi.psych.upenn.edu/R/Rhelp02/archive/118681.html

你是如何安装R的?

我尝试使用库存apache2,CRAN的二进制R 2.10.1,Xcode 3.2.1和rapche 1.1.8在Snow Leopard上复制你的问题,但没有运气。我的设置就像一个冠军。

我再也无法访问Leopard了,所以我最好的建议是使用gdb打破那个非常长的系统调用。您将需要删除REvalonStartup指令并将其替换为执行相同的处理程序调用,将apache配置为仅生成一个子进程(因此整个fork进程)并将gdb连接到它。然后将您的Web浏览器指向您的处理程序URL并查看gdb是否在函数上中断然后查看堆栈跟踪....我知道这很蹩脚,但这就是我现在所有的。