openCPU和rstan - 无法打开连接

时间:2016-11-10 15:55:16

标签: r opencpu stan rstan

我正在使用openCPU创建一个API来估计rstan中的漂亮基本模型。

我已经验证了从正常的R控制台会话调用我的函数在我的环境中工作,而不是从openCPU调用。

但是当通过openCPU调用时,响应如下:

cannot open the connection

In call:
file(con, "r")

通过在rstan的源代码中插入检查点,我已经将其跟踪到R / cxxfunplus.R(link to line on github here)中的一个调用:

dso <- new('cxxdso', sig = sig, dso_saved = save_dso, 
             dso_filename = dso_filename, 
             modulename = module_name, 
             system = R.version$system, 
             cxxflags = get_makefile_flags("CXXFLAGS"), 
             .CXXDSOMISC = new.env(parent = emptyenv()))

此调用中的内容是尝试读取可能失败的连接?

1 个答案:

答案 0 :(得分:2)

想出来 - 在openCPU下运行时,rstan::get_makefile_txt正在寻找的两个makefile之一不存在。该文件是/ usr / share / R / share / make。

幸运的是,第一个makefile确实存在并且已经足够了,所以可以通过跳过第二个makefile并只读取第一个makefile来解决这个问题。

rstan::get_makefile_text的最后一行之前,我插入了以下内容:

makefiles <- makefiles[file.exists(makefiles)]