我一直在尝试在运行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.
不是一个好兆头。有关可能发生的事情的任何想法?或者要检查的事情?
克里斯
答案 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是否在函数上中断然后查看堆栈跟踪....我知道这很蹩脚,但这就是我现在所有的。