2016-11-10 19 views
0

openscu를 사용하여 rstan의 기본 모델을 평가하는 API를 만듭니다.openCPU 및 rstan - 연결을 열 수 없습니다.

openCPU에서 호출하는 것과는 반대로 일반 R 콘솔 세션에서 내 함수가 호출되면 내 함수가 작동 함을 확인했습니다.

그러나 openCPU를 통해 호출시 응답은 다음과 같다 : rstan의 소스에 체크 포인트를 삽입하여

cannot open the connection 

In call: 
file(con, "r") 

, 나는 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())) 

이 호출에서 실패 할 수있는 연결을 읽으려고합니다.

답변

2

알아 낸 것 이 찾고있는 두 개의 메이크 파일 중 하나가 openCPU에서 실행될 때 존재하지 않습니다. 파일은/usr/share/R/share/make입니다.

다행히 첫 번째 메이크 파일이 존재하고 충분하기 때문에 두 번째 메이크 파일을 건너 뛰고 첫 번째 메이크 파일 만 읽음으로써이를 수정할 수 있습니다. 우리가 알려 주셔서

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

감사 :

rstan::get_makefile_text의 마지막 행하기 전에, 나는 다음을 삽입했다. 첫 번째 메이크 파일 만 읽으려는 전화가 무엇이든 대답에 추가 할 수 있습니까? –

+0

물론 코드를 추가했습니다. –

+1

확인. GitHub의 rstan 개발 지점에 그 라인을 추가했습니다. –