0

私は openCPU を使用して API を作成し、rstan でかなり基本的なモデルを推定しています。

openCPU から呼び出されるのではなく、通常の R コンソール セッションから呼び出されたときに、関数が自分の環境で機能することを確認しました。

しかし、openCPU 経由で呼び出すと、応答は次のようになります。

cannot open the connection

In call:
file(con, "r")

rstan のソースにチェックポイントを挿入することで、これを R/cxxfunplus.R の 1 つの呼び出しに追跡しました ( github の行へのリンクはこちら):

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()))

この呼び出しで、失敗する可能性のある接続を読み取ろうとしているのは何ですか?

4

1 に答える 1

2

rstan::get_makefile_txtこれを考え出した -探している2つのメイクファイルのうちの1つは、 openCPUで実行すると存在しません。ファイルは /usr/share/R/share/make です。

幸い、最初の makefile が存在し、十分なので、2 番目の makefile をスキップして最初の makefile のみを読み取ることで、これを修正できます。

の最後の行の前にrstan::get_makefile_text、次を挿入しました。

makefiles <- makefiles[file.exists(makefiles)]
于 2016-11-10T17:13:03.357 に答える