How to configure R-3.1.2 with --enable-R-shlib

2019-01-19 12:40发布

问题:

I had installed R-3.1.2 on Ubuntu using the commands

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

When I tried to launch RStudio I got the error

R shared library (/usr/local/lib/R/lib/libR.so) not found. If this is a custom build of R, was it built with the --enable-R-shlib option?

So I went back and tried to reconfigure with

./configure --enable-R-shlib=yes
make

But I got the error

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

When searching stack overflow, I found an answer here: How to configure R-3.0.1 with --enable-R-shlib that suggested that the problem was that I was trying to compile in a directory that I had previously compiled without the "--enable-R-shlib" option

I tried to fix the problem by using the commands

make uninstall

which gives no errors by many "Nothing to be done for `uninstall'." statements, but it did successfully uninstall R

./configure --enable-R-shlib=yes

which gives the error

config.status: error: cannot find input file: `src/library/base/DESCRIPTION.in'

then

make

which gives the same error as when I tried to make before.

Can you help me see where I have gone wrong?

回答1:

make uninstall only undoes the make install step, which generally copies the files from the compilation dir to dir(s) on the system as appropriate, and puts binaries in say /usr/bin so they are on the path. If you wanted to clean up the dir where you did a previous compile, use make clean (or make distclean, I forget what the difference is now as far as R is concerned but convention is that it should return the build dir to pre-configure, pre-build state.).

You also, in general, don't want to be building in the dir which contains the R sources (which ./configure suggests you are doing).



标签: r rstudio