cmake 编译rstudioserver源码遇到的小问题


这是一个用源码安装rstudioserver时候遇到的问题:

现有环境已经安装好了 R 的基本环境

解压rstudioserver源码后,发现里面有个cmakelist.txt 看来是要用cmake

cmake ..

可是天有不测风云

报错了


 CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find LibR (missing: LIBR_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindLibR.cmake:176 (find_package_handle_standard_args)
  src/cpp/CMakeLists.txt:212 (find_package)

找到 FindLibR.cmake 文件 ,推测到问题源头


 # look for the core R library
   find_library(LIBR_CORE_LIBRARY NAMES R
                HINTS ${LIBR_LIB_DIR} ${LIBRARY_ARCH_HINT_PATH} ${LIBR_HOME}/bin)
   if(LIBR_CORE_LIBRARY)
      set(LIBR_LIBRARIES ${LIBR_CORE_LIBRARY})
   else()
      message(STATUS "Could not find libR shared library.")
   endif()

但是到此,无法继续了。。。

rstudio cmake r

怪叔叔SAMA 9 years, 9 months ago

@zonxin

非常感谢您的帮忙!
请问您有已经OK的环境吗? 因为我看过这几个搜索路径下面没看到像是libr的东西,不知上哪里去找?找什么样子才是libr的包?


 [root@localhost rstudio-rstudio-3f98ae3]# ls  /usr/local/lib/R/bin/
BATCH  COMPILE  f77_f2c     libtool        pager  Rd2pdf  REMOVE   rtags    Sweave
build  config   INSTALL     LINK           R      Rdconv  Rprof    SHLIB
check  exec     javareconf  mkinstalldirs  Rcmd   Rdiff   Rscript  Stangle
[root@localhost rstudio-rstudio-3f98ae3]# ls  /usr/local/lib/R/lib
libRblas.so  libRlapack.so

jxpxxoo answered 9 years, 9 months ago

我也遇到了同样的问题,知道博主解决了没?

我不是夏娜 answered 9 years, 9 months ago

提示很明显了,就是找不到 R 的 lib 原因,
可能是你的 libR 没在搜索路径里,
或是你的R lib 不叫 libR 不叫 libR (可能是 libR + 版本号)

推荐的解决方式就是做一个符号链接就好了。一般默认 /lib,/usr/lib,/usr/local/lib 这几个都是搜索路径。所以可以
ln -s /usr/local/lib/libR.so /你的libR.so的路径/libR.so

自定义搜索库路径的方式
1、编译的时候加, -L /path 参数
2、添加环境变量, LIBRARY_PATH="/path"
3、配置文件,默认的搜索路径在 /etc/ld.so.conf , Ubuntu 的话可能是 include 其他的配置文件 你可以具体去看include的配置。不过还是不太推荐改。

沉睡的饼干 answered 9 years, 9 months ago

Your Answer