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()
但是到此,无法继续了。。。
Answers
非常感谢您的帮忙!
请问您有已经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
提示很明显了,就是找不到 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的配置。不过还是不太推荐改。