2015-05-04 101 views
0

从源码在Ubuntu 14.04(64位)上安装R时,出现make错误。我的安装步骤如下:使用make从源码构建R时出错

 
sudo apt-get install build-essential 
sudo apt-get install gfortran 
sudo apt-get install libreadline6-dev 
sudo apt-get install libxt-dev 

./configure --prefix=/home/li/Dev/R-3.2.0 --enable-R-shlib 
make 

我然后我得到了以下错误:

 
collect2: error: ld returned 1 exit status 
make[3]: *** [R.bin] Error 1 
make[3]: Leaving directory `/home/li/Dev/R/src/main' 
make[2]: *** [R] Error 2 
make[2]: Leaving directory `/home/li/Dev/R/src/main' 
make[1]: *** [R] Error 1 
make[1]: Leaving directory `/home/li/Dev/R/src' 
make: *** [R] Error 1 
+1

为什么要从源代码编译?按照http://cran.r-project.org/bin/linux/ubuntu/README.html上的说明操作并获取二进制包。此外,请从http://www.rstudio.com/products/rstudio/download/ – kdopen

+0

使用RStudio进行调查:我为您的帖子进行了更新,以澄清一些问题。如果这不符合您的想法,请随时[回滚](http://meta.stackexchange.com/a/18876/287795)。 –

+0

你已经砍掉了太多的make输出。如果您无法正确修剪,并且不想在此处将其全部内嵌粘贴,请链接到pastebin或gist页面, –

回答

0
 
@li:~/Dev/R$ make 
make[1]: Entering directory `/home/li/Dev/R/m4' 
make[1]: Nothing to be done for `R'. 
make[1]: Leaving directory `/home/li/Dev/R/m4' 
make[1]: Entering directory `/home/li/Dev/R/tools' 
make[1]: Nothing to be done for `R'. 
make[1]: Leaving directory `/home/li/Dev/R/tools' 
make[1]: Entering directory `/home/li/Dev/R/doc' 
make[2]: Entering directory `/home/li/Dev/R/doc/html' 
make[2]: Leaving directory `/home/li/Dev/R/doc/html' 
make[2]: Entering directory `/home/li/Dev/R/doc/manual' 
make[2]: Nothing to be done for `R'. 
make[2]: Leaving directory `/home/li/Dev/R/doc/manual' 
make[1]: Leaving directory `/home/li/Dev/R/doc' 
make[1]: Entering directory `/home/li/Dev/R/etc' 
make[1]: Leaving directory `/home/li/Dev/R/etc' 
make[1]: Entering directory `/home/li/Dev/R/share' 
make[1]: Leaving directory `/home/li/Dev/R/share' 
make[1]: Entering directory `/home/li/Dev/R/src' 
make[2]: Entering directory `/home/li/Dev/R/src/scripts' 
make[3]: Entering directory `/home/li/Dev/R/src/scripts' 
make[3]: Leaving directory `/home/li/Dev/R/src/scripts' 
make[2]: Leaving directory `/home/li/Dev/R/src/scripts' 
make[2]: Entering directory `/home/li/Dev/R/src/include' 
make[3]: Entering directory `/home/li/Dev/R/src/include/R_ext' 
make[3]: Nothing to be done for `R'. 
make[3]: Leaving directory `/home/li/Dev/R/src/include/R_ext' 
make[2]: Leaving directory `/home/li/Dev/R/src/include' 
make[2]: Entering directory `/home/li/Dev/R/src/extra' 
make[3]: Entering directory `/home/li/Dev/R/src/extra/blas' 
make[4]: Entering directory `/home/li/Dev/R/src/extra/blas' 
make[4]: `libRblas.so' is up to date. 
make[4]: Leaving directory `/home/li/Dev/R/src/extra/blas' 
make[4]: Entering directory `/home/li/Dev/R/src/extra/blas' 
/home/li/Dev/R/lib/libRblas.so is unchanged 
make[4]: Leaving directory `/home/li/Dev/R/src/extra/blas' 
make[3]: Leaving directory `/home/li/Dev/R/src/extra/blas' 
make[3]: Entering directory `/home/li/Dev/R/src/extra/pcre' 
make[4]: Entering directory `/home/li/Dev/R/src/extra/pcre' 
make[4]: `Makedeps' is up to date. 
make[4]: Leaving directory `/home/li/Dev/R/src/extra/pcre' 
make[4]: Entering directory `/home/li/Dev/R/src/extra/pcre' 
make[4]: `libpcre.a' is up to date. 
make[4]: Leaving directory `/home/li/Dev/R/src/extra/pcre' 
make[3]: Leaving directory `/home/li/Dev/R/src/extra/pcre' 
make[3]: Entering directory `/home/li/Dev/R/src/extra/tre' 
make[4]: Entering directory `/home/li/Dev/R/src/extra/tre' 
make[4]: `Makedeps' is up to date. 
make[4]: Leaving directory `/home/li/Dev/R/src/extra/tre' 
make[4]: Entering directory `/home/li/Dev/R/src/extra/tre' 
make[4]: `libtre.a' is up to date. 
make[4]: Leaving directory `/home/li/Dev/R/src/extra/tre' 
make[3]: Leaving directory `/home/li/Dev/R/src/extra/tre' 
make[3]: Entering directory `/home/li/Dev/R/src/extra/xz' 
make[4]: Entering directory `/home/li/Dev/R/src/extra/xz' 
make[4]: `liblzma.a' is up to date. 
make[4]: Leaving directory `/home/li/Dev/R/src/extra/xz' 
make[3]: Leaving directory `/home/li/Dev/R/src/extra/xz' 
make[2]: Leaving directory `/home/li/Dev/R/src/extra' 
make[2]: Entering directory `/home/li/Dev/R/src/appl' 
make[3]: Entering directory `/home/li/Dev/R/src/appl' 
make[3]: `libappl.a' is up to date. 
make[3]: Leaving directory `/home/li/Dev/R/src/appl' 
make[2]: Leaving directory `/home/li/Dev/R/src/appl' 
make[2]: Entering directory `/home/li/Dev/R/src/nmath' 
make[3]: Entering directory `/home/li/Dev/R/src/nmath' 
make[3]: `libnmath.a' is up to date. 
make[3]: Leaving directory `/home/li/Dev/R/src/nmath' 
make[2]: Leaving directory `/home/li/Dev/R/src/nmath' 
make[2]: Entering directory `/home/li/Dev/R/src/unix' 
make[3]: Entering directory `/home/li/Dev/R/src/unix' 
make[3]: `libunix.a' is up to date. 
make[3]: Leaving directory `/home/li/Dev/R/src/unix' 
make[3]: Entering directory `/home/li/Dev/R/src/unix' 
gcc -std=gnu99 -I. -I../../src/include -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H -fopenmp -fpic -g -O2 -L/usr/local/lib -DR_HOME='"/home/li/Dev/R"' \ 
     -o Rscript ./Rscript.c 
make[3]: Leaving directory `/home/li/Dev/R/src/unix' 
make[2]: Leaving directory `/home/li/Dev/R/src/unix' 
make[2]: Entering directory `/home/li/Dev/R/src/main' 
make[3]: Entering directory `/home/li/Dev/R/src/main' 
make[4]: Entering directory `/home/li/Dev/R/src/main' 
/home/li/Dev/R/lib/libR.so is unchanged 
make[4]: Leaving directory `/home/li/Dev/R/src/main' 
make[3]: Leaving directory `/home/li/Dev/R/src/main' 
make[3]: Entering directory `/home/li/Dev/R/src/main' 
gcc -std=gnu99 -Wl,--export-dynamic -fopenmp -L../../lib -L/usr/local/lib -o R.bin Rmain.o -lR -lRblas 
../../lib/libR.so: undefined reference to `BZ2_bzBuffToBuffCompress' 
../../lib/libR.so: undefined reference to `BZ2_bzBuffToBuffDecompress' 
../../lib/libR.so: undefined reference to `BZ2_bzlibVersion' 
../../lib/libR.so: undefined reference to `BZ2_bzDecompressInit' 
../../lib/libR.so: undefined reference to `BZ2_bzDecompressEnd' 
../../lib/libR.so: undefined reference to `BZ2_bzReadClose' 
../../lib/libR.so: undefined reference to `BZ2_bzWriteOpen' 
../../lib/libR.so: undefined reference to `BZ2_bzWriteClose' 
../../lib/libR.so: undefined reference to `BZ2_bzWrite' 
../../lib/libR.so: undefined reference to `BZ2_bzReadGetUnused' 
../../lib/libR.so: undefined reference to `BZ2_bzDecompress' 
../../lib/libR.so: undefined reference to `BZ2_bzReadOpen' 
../../lib/libR.so: undefined reference to `BZ2_bzRead' 
collect2: error: ld returned 1 exit status 
make[3]: *** [R.bin] Error 1 
make[3]: Leaving directory `/home/li/Dev/R/src/main' 
make[2]: *** [R] Error 2 
make[2]: Leaving directory `/home/li/Dev/R/src/main' 
make[1]: *** [R] Error 1 
make[1]: Leaving directory `/home/li/Dev/R/src' 
make: *** [R] Error 1 

我做一遍,所有的结果都如上面! @Warren Young @Alex A