2014-09-16 2 views
1

У меня возникли проблемы с созданием RStudio IDE из источника после обновления пакета boost до версии 1.56.0.Невозможно создать RStudio IDE с boost 1.56.0

Я использовал следующие PKGBUILD для Arch Linux менеджер пакетов: http://pastebin.com/r1mgj1h2

бревенчатых с ошибками: http://pastebin.com/FjMdxEKA

Сообщения об ошибках:

** testing if installed package can be loaded 
Linking C static library librstudio-core-synctex.a 
/build/rstudio-desktop-git/src/rstudio/src/cpp/core/Assert.cpp: In function 'void boost::assertion_failed(const char*, const char*, const char*, long int)': 
/build/rstudio-desktop-git/src/rstudio/src/cpp/core/Assert.cpp:40:10: error: 'boost::core::log' has not been declared 
core::log::logWarningMessage(msg, location); 
^ 
/build/rstudio-desktop-git/src/rstudio/src/cpp/core/Assert.cpp: In function 'void boost::assertion_failed_msg(const char*, const char*, const char*, const char*, long int)': 
/build/rstudio-desktop-git/src/rstudio/src/cpp/core/Assert.cpp:64:10: error: 'boost::core::log' has not been declared 
core::log::logWarningMessage(message, location); 
^ 
src/cpp/core/CMakeFiles/rstudio-core.dir/build.make:54: recipe for target 'src/cpp/core/CMakeFiles/rstudio-core.dir/Assert.cpp.o' failed 
make[2]: *** [src/cpp/core/CMakeFiles/rstudio-core.dir/Assert.cpp.o] Error 1 
* DONE (manipulate) 
CMakeFiles/Makefile2:178: recipe for target 'src/cpp/core/CMakeFiles/rstudio-core.dir/all' failed 
make[1]: *** [src/cpp/core/CMakeFiles/rstudio-core.dir/all] Error 2 
make[1]: *** Waiting for unfinished jobs.... 

Примечание: Я построил RStudio в чистом Chroot описанный в статье this.

Я думаю, что одним из возможных решений было бы установить пакет boost в отдельный экземпляр с помощью сценария this. Однако это кажется очень сложным.

Уверен, что существует множество более простых решений. Есть идеи?

ответ

2
# specify that namespace core is in the global namespace and not 
# relative to some other namespace (like its ::core not ::boost::core) 
find . \(-name *.cpp -or -name *.hpp \) -exec sed \ 
     -e '[email protected]<core::@< ::core::@g' -e '[email protected]\([^:]\)core::@\1::core::@g' -i {} \; 
+0

Thx. Я успешно построил это обходное решение. –

Смежные вопросы