2014-11-06 2 views
0

Я создаю последнюю версию rstudio-сервера github для запуска на OSX Yosemite, но не могу найти ее, чтобы найти библиотеки 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. 

я смог найти Rinternals.h в /opt/local/Library/Frameworks/R.framework/Versions/3.1/PrivateHeaders/Rinternals.h (EDIT : также в/opt/local/Library/Frameworks/R.framework/Versions/3.1/Resources/include/Rinternals.h), но как я могу указать конфигурацию сборки на это местоположение?

EDIT: Кроме того, я испытал еще одну проблему, где сборка не удалось около 70% с ошибкой
/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 не существует, потому что /opt/local/lib/libR.dylib на самом деле файл.

ответ

0

Это, как представляется, проблема с сценарием RTAudio 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 и изменить путь LIBR_INCLUDE_DIRS для отражения Rinternals.h «s фактического местоположения, как описан в this RStudio Support Forum Question.
  3. Убедитесь, что LIBR_EXECUTABLE, LIBR_HOME и LIBR_DOC_DIR все указывает на правильное расположение. Вы можете получить правильные местоположения, выполнив R.home(component="home") (или component="doc") в интерактивном приглашении R, как описано в this webpage. Это позволит решить ошибку сборки на 44%, а также дополнительную ошибку, имевшуюся при 70-%%.
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». Ваш ответ указал мне в правильном направлении, поэтому, спасибо вам большое. –