CentOS6 編譯安裝R-3.6.1 (更新R-4.0.3安裝方法)

1. 安裝依賴(有root權(quán)限)

#繪圖相關(guān)
yum install libjpeg-devel
yum install libtiff-devel
yum install cairo-devel
yum install libpng-devel
yum install libicu-devel

# X11
yum install libXt-devel
yum install libX11-devel

yum install readline-devel
yum install zlib-devel
yum install bzip2-devel
yum install xz-devel
yum install pcre-devel
yum install openssl-devel
yum install curl-devel

2. 安裝依賴(無root權(quán)限)

1) 下載安裝ncurses

wget http://ftp.gnu.org/gnu/ncurses/ncurses-6.1.tar.gz
tar zxvf ncurses-6.1.tar.gz
cd ncurses-6.1
./configure --prefix=/home/test/software/ncurses-6.1 --with-cxx-shared
make && make install

2) 下載安裝readline

wget http://ftp.gnu.org/gnu/readline/readline-8.0.tar.gz
tar zxvf readline-8.0.tar.gz
cd readline-8.0
./configure --prefix=/home/test/software/readline-8.0
make && make install

3) 下載安裝zlib

wget https://www.zlib.net/zlib-1.2.13.tar.gz
tar zxvf zlib-1.2.13.tar.gz
cd zlib-1.2.13
./configure --prefix=/home/test/software/zlib-1.2.13
make && make install

4) 下載安裝bzip2

wget https://nchc.dl.sourceforge.net/project/bzip2/bzip2-1.0.6.tar.gz
tar zxvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make PREFIX=/home/test/software/bzip2-1.0.6 install

5) 下載安裝lzma

wget https://www.tukaani.org/xz/xz-5.2.4.tar.gz
tar zxvf xz-5.2.4.tar.gz
cd xz-5.2.4
./configure --prefix=/home/test/software/xz-5.2.4
make && make install

6) 下載安裝pcre

wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz
tar zxvf pcre-8.45.tar.gz
cd pcre-8.45
./configure --prefix=/home/test/software/pcre-8.45 --enable-utf8
make && make install

7) 下載安裝openssl

wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar zxvf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
./config --prefix=/home/test/software/openssl-1.1.1d
make && make install

8) 下載安裝curl

wget https://curl.haxx.se/download/curl-7.66.0.tar.gz
tar zxvf curl-7.66.0.tar.gz
cd curl-7.66.0
./configure --prefix=/home/test/software/curl-7.66.0 --with-ssl=/home/test/software/openssl-1.1.1d
make && make install

9) 下載安裝pcre2

wget https://sourceforge.net/projects/pcre/files/pcre2/10.36/pcre2-10.36.tar.gz
tar zxvf pcre2-10.36.tar.gz
cd pcre2-10.36
./configure --prefix=/home/test/software/pcre2-10.36
make && make install

3. 安裝R

# 環(huán)境變量,針對依賴由非管理員用戶編譯安裝的情況,直接執(zhí)行即可
export LDFLAGS="-L/home/test/software/ncurses-6.1/lib -L/home/test/software/readline-8.0/lib -L/home/test/software/zlib-1.2.11/lib -L/home/test/software/bzip2-1.0.6/lib -L/home/test/software/xz-5.2.4/lib -L/home/test/software/pcre-8.43/lib -L/home/test/software/curl-7.66.0/lib -L/home/test/software/pcre2-10.36/lib"

export CPPFLAGS="-I/home/test/software/readline-8.0/include -I/home/test/software/zlib-1.2.11/include -I/home/test/software/bzip2-1.0.6/include -I/home/test/software/xz-5.2.4/include -I/home/test/software/pcre-8.43/include -I/home/test/software/curl-7.66.0/include -I/home/test/software/pcre2-10.36/include"

export CFLAGS="-I/home/test/software/readline-8.0/include -I/home/test/software/zlib-1.2.11/include -I/home/test/software/bzip2-1.0.6/include -I/home/test/software/xz-5.2.4/include -I/home/test/software/pcre-8.43/include -I/home/test/software/curl-7.66.0/include -I/home/test/software/pcre2-10.36/include"

# 如果curl是由非管理員用戶編譯安裝的,則需要將此行添加到.bashrc或者.bash_profile中
export PATH=/home/test/software/curl-7.66.0/bin:$PATH

# 如果openssl是非管理員用戶編譯安裝的,則需要此行添加到.bashrc或者.bash_profile中
export LD_LIBRARY_PATH=/home/test/software/openssl-1.1.1d/lib:$LD_LIBRARY_PATH

# 安裝R
# 安裝R-4.0.3需要換成https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-4/R-4.0.3.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-3/R-3.6.1.tar.gz
tar zxvf R-3.6.1.tar.gz
cd R-3.6.1
./configure --prefix=/home/test/software/R-3.6.1
make && make install

4. 錯誤解決

1) curl報錯

錯誤信息:

  • configure: error: libcurl >= 7.22.0 library and headers are required with support for https

解決方法:

  • 編譯安裝curl時添加--with-ssl=/path/to/openssl
  • 環(huán)境變量添加export PATH=/path/to/curl/bin:$PATH
  • 環(huán)境變量添加export LD_LIBRARY_PATH=/path/to/openssl/lib:$LD_LIBRARY_PATH

注:
在確認curl已安裝,且環(huán)境變量一切沒問題的情況下,仍報此錯誤,可以嘗試編輯configure文件,更改如下信息:

r_cv_have_curl722=no 改為 r_cv_have_curl722=yes
r_cv_have_curl_https=no 改為 r_cv_have_curl_https=yes

修改后可強行跳過curl驗證步驟,僅供參考。

2) gcc-10.1.0下make報錯

解決方法:

  • 改用gcc-6.4.0編譯

3)pcre2報錯

解決方法:

如果是R-4.0.3 configure報錯

  • 環(huán)境變量添加export PKG_CONFIG_PATH=/path/to/pcre2-10.36/lib/pkgconfig:$PKG_CONFIG_PATH

如果是make報錯

  • 環(huán)境變量添加export LD_LIBRARY_PATH=/path/to/pcre2-10.36/lib:$LD_LIBRARY_PATH

3) make時libiconv報錯

錯誤信息:

  • undefined reference to `_libiconv_version'

解決方法:

# 編譯安裝libiconv
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
tar zxvf libiconv-1.16.tar.gz
cd libiconv-1.16
./configure --prefix=/home/test/software/libiconv-1.16
make && make install

# 環(huán)境變量LDFLAGS加上-L/home/test/software/libiconv-1.16/lib
# 環(huán)境變量CFLAGS加上-I/home/test/software/libiconv-1.16/include
# 環(huán)境變量CPPFLAGS加上-I/home/test/software/libiconv-1.16/include

5. 其他

  • 目前本教程中繪圖相關(guān)的庫和X11庫只能由管理員通過yum進行安裝
  • 為防止對后續(xù)其他軟件編譯造成影響,本教程安裝中使用的環(huán)境變量CFLAGS、CPPFLAGS和LDFLAGS應(yīng)當(dāng)注釋或刪除
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容