2014-11-06 7 views
0

OSX Yosemite에서 실행되는 rstudio-server의 최신 github 버전을 빌드 중이지만 설치할 때 macports R 라이브러리를 찾을 수 없습니다.빌드 할 때 RStudio Server가 Macports R 용 라이브러리를 찾지 못합니다.

"최소 R 버전 (2.11.1)을 찾을 수 없습니다."가 실행됩니다. 오류가 나는
cmake -DRSTUDIO_TARGET=Server -DCMAKE_BUILD_TYPE=Release ..
을 실행하지만 나뿐만 아니라 -DRSTUDIOVERIFYR_VERSION=0를 통과 할 때, 나는 성공적으로 구성하고 약 44 %로 할 때 빌드가 실패하기 전에 :

Rogers-iMac:build roger$ sudo make install 
Password: 
Scanning dependencies of target gwt_build 
Buildfile: /Users/roger/projects/rstudio/src/gwt/build.xml 
[...] 
Scanning dependencies of target rstudio-r 
[ 44%] Building CXX object src/cpp/r/CMakeFiles/rstudio-r.dir/RErrorCategory.cpp.o 
[ 44%] Building CXX object src/cpp/r/CMakeFiles/rstudio-r.dir/RExec.cpp.o 
In file included from /Users/roger/projects/rstudio/src/cpp/r/RExec.cpp:17: 
In file included from /Users/roger/projects/rstudio/src/cpp/r/include/r/RExec.hpp:30: 
In file included from /Users/roger/projects/rstudio/src/cpp/r/include/r/RSexp.hpp:33: 
/Users/roger/projects/rstudio/src/cpp/r/include/r/RInternal.hpp:43:10: fatal error: 'Rinternals.h' file not found 
#include <Rinternals.h> 
     ^
1 error generated. 

내가 /opt/local/Library/Frameworks/R.framework/Versions/3.1/PrivateHeaders/Rinternals.h에서 Rinternals.h을 발견 할 수 있었다 (편집을 :/opt/local/Library/Frameworks/R.framework/Versions/3.1/Resources/include/Rinternals.h에서도), 빌드 구성을이 위치로 어떻게 가리 킵니까?

편집는 : /opt/local/lib/libR.dylib 실제로 파일이기 때문에 또한, 나는 빌드 오류 추가 조사시
/opt/local/lib/libR.dylib/Resources/R: not a directory
make[2]: *** [src/cpp/r/R/packages/library/manipulate/DESCRIPTION] Error 126 , /opt/local/lib/libR.dylib/Resources/R이 존재하지 않는 약 70 %에 실패한 또 다른 문제가 발생했습니다.

답변

0

이것은 RStudio cmake 스크립트가 MacPorts R 설치를 제대로 감지하지 못하는 문제입니다. 이 문제를 해결하려면

  1. 포인트 cmake를 사용하여 R 실행 파일의 올바른 위치로 export RSTUDIO_WHICH_R=/opt/local/bin/R (또는 위치가 당신을 위해 무엇이든), this RStudio Knowledge Base Article에 설명 된대로. 이렇게하면 cmake이 구성을 생성하지 못하는 문제를 해결할 수 있습니다.
  2. 발견되지 Rinternals.h의 문제점을 해결하기 위해, build/CMakeCache.txt 들어가고 this RStudio Support Forum Question에 기재된 바와 같이, Rinternals.h의 실제 위치를 반영하도록 LIBR_INCLUDE_DIRS의 경로를 변경.
  3. LIBR_EXECUTABLE, LIBR_HOMELIBR_DOC_DIR이 모두 올바른 위치를 가리키는 지 확인하십시오. this webpage에 설명 된대로 R 대화식 프롬프트에서 R.home(component="home") (또는 component="doc")을 수행하여 올바른 위치를 얻을 수 있습니다. 이렇게하면 빌드 오류가 44 %에서 해결되고 추가 오류는 70-ish %에서 발생합니다.
0
cmake의 세부 사항에 대한

확실하지하지만 당신은

$ export CPATH=$CPATH:/opt/local/Library/Frameworks/R.framework/Versions/3.1/PrivateHeaders/ 
$ sudo make install 

은 당신이 그들을 볼 수있는 위치에 헤더 파일을 찾기 위해 컴파일러에게 시도 할 수 있습니다.

+0

내가 재구성했고, 이번에는 cmake 사용에 문제가 없었습니다. 빌드 할 때 오류가 지속됩니다. –

+0

이 작업은 효과가 있지만 일부 이전 버전의 clang은 CPATH (http://llvm.org/bugs/show_bug.cgi?id=8971 참조)를 지원하지 않으므로 해결해보십시오 (내 답변 참조). –

+0

흠 ... 실제로 실제로 문제를 해결하지 않은 것처럼 보입니다. 내 빌드 폴더를 지우고 새로 시작했을 때 오류 –

0

-I /opt/local/Library/Frameworks/R.framework/Versions/3.1/PrivateHeaders/을 컴파일러의 명령 줄에 추가하십시오.

또는 환경에서 CPLUS_INCLUDE_PATH을 설정하여 C++ 코드를 컴파일 할 때 추가 헤더를 검색 할 위치를 컴파일러에 알릴 수 있습니다. 필요한 경우 C_INCLUDE_PATH을 C로 설정할 수도 있습니다.

$ export CPLUS_INCLUDE_PATH=/opt/local/Library/Frameworks/R.framework/Versions/3.1/PrivateHeaders 
$ make 
+0

이 다시 나타났습니다. 따라서 cmake를 올바르게 구성 할 수없는 경우가 있습니다. 나는 단지'-DRSTUDIOVERIFYR_VERSION = 0' 설정을 사용하고 있었다. 깨끗한'cmake'에서 저는 사각형으로 돌아 왔습니다. –

+0

"RSTUDIO_WHICH_R"이라고 불리는 환경 변수가 잘못 설명 된 해결책을 찾았습니다. 당신의 대답은 올바른 방향으로 나를 가리켰습니다. 그렇지만, 대단히 감사합니다. –