我使用命令在Ubuntu上安装了R-3.1.2
wget http://cran.r-project.org/src/base/R-3/R-3.1.2.tar.gz
tar xvfz R-3.1.2.tar.gz
cd R-3.1.2
./configure
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
当我尝试启动RStudio时,我收到了错误
找不到R共享库(/usr/local/lib/R/lib/libR.so).如果这是R的自定义构建,是否使用--enable-R-shlib选项构建?
所以我回去试图重新配置
./configure --enable-R-shlib=yes
make
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
collect2: error: ld returned 1 exit status
make[3]: *** [libR.so] Error 1
make[3]: Leaving directory `/usr/local/lib/R-3.1.2/src/main'
make[2]: *** [R] Error 2
make[2]: Leaving directory `/usr/local/lib/R-3.1.2/src/main'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/usr/local/lib/R-3.1.2/src'
make: *** [R] Error 1
Run Code Online (Sandbox Code Playgroud)
当搜索堆栈溢出时,我在这里找到了一个答案: 如何使用--enable-R-shlib配置R-3.0.1, 这表明问题是我试图在我之前编译的目录中编译而没有" --enable-R-shlib"选项
我试图通过使用命令来解决问题
make uninstall
Run Code Online (Sandbox Code Playgroud)
这并没有给出任何错误"没有什么可以做'卸载'." 语句,但它确实成功卸载了R.
./configure --enable-R-shlib=yes
Run Code Online (Sandbox Code Playgroud)
这给出了错误
config.status: error: cannot find input file: `src/library/base/DESCRIPTION.in'
Run Code Online (Sandbox Code Playgroud)
然后
make
Run Code Online (Sandbox Code Playgroud)
这给出了与我之前尝试制作时相同的错误.
你能帮我看看我哪里出错吗?
Rei*_*son 10
make uninstall只撤消make install步骤,通常会根据需要将编译目录中的文件复制到系统上的dir,然后将二进制文件放入/usr/bin路径中.如果你想清理你之前编译的目录,使用make clean(或者make distclean,我忘记了现在与R有什么区别但是惯例是它应该返回构建目录以进行预配置,预构建州.).
一般来说,您也不希望在包含R源的目录(./configure建议您正在进行)中构建.