スーパーユーザ権限のないサーバにソースコードからインストールしてみたのでそのメモ
大学のサーバなど勝手になんでもインストールできない環境ではローカルのユーザ環境に色々とインストールしないといけません。今回はRをインストールしてみました
Rの取得
cranからRのソースコードをダウンロードしコンパイルします
wget https://cran.r-project.org/src/base/R-3/R-3.3.2.tar.gz tar zxvfp R-3.3.2.tar.gz cd R-3.3.2 mkdir builddir cd builddir ../configure --prefix=/work/$USER/local --with-cairo --with-jpeglib --with-readline --with-tcltk --with-blas --with-lapack --enable-R-profiling --enable-R-shlib --enable-memory-profiling
エラーになります
checking if bzip2 version >= 1.0.6... no checking whether bzip2 support suffices... configure: error: bzip2 library and headers are required
足りないライブラリを入れていきます
bzip2
。
wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz tar zxvfp bzip2-1.0.6.tar.gz cd bzip2-1.0.6
このあたりを参考にMakefileを修正しておきます。CFLAGSに-fPICを追加します
CFLAGS=-fPIC -Wall -Winline -O2 -g $(BIGFILES)
makeします
make -f Makefile-libbz2_so make clean make make -n install PREFIX=/work/$USER/local make install PREFIX=/work/$USER/local
Rのconfigを再開します。この際、オプションにライブラリのパスを入れます
../configure --prefix=/work/$USER/local --with-cairo --with-jpeglib --with-readline --with-tcltk --with-blas --with-lapack --enable-R-profiling --enable-R-shlib --enable-memory-profiling CPPFLAGS="-I/work/$USER/local/include" LDFLAGS="-L/work/$USER/local/lib"
またエラーです
checking for lzma_version_number in -llzma... no configure: error: "liblzma library and headers are required"
xz
xzライブラリを入れます。
wget http://tukaani.org/xz/xz-5.2.3.tar.gz tar zxvfp xz-5.2.3.tar.gz cd xz-5.2.3 ./configure --prefix=/work/$USER/local make install
Rのconfigを再開
../configure --prefix=/work/$USER/local --with-cairo --with-jpeglib --with-readline --with-tcltk --with-blas --with-lapack --enable-R-profiling --enable-R-shlib --enable-memory-profiling CPPFLAGS="-I/work/$USER/local/include" LDFLAGS="-L/work/$USER/local/lib"
またエラー
checking for pcre_fullinfo in -lpcre... no checking whether PCRE support suffices... configure: error: pcre >= 8.10 library
pcre
pcreライブラリを入れる。ここで、UTF8を有効にしておきます
wget https://ftp.pcre.org/pub/pcre/pcre-8.10.zip unzip pcre-8.10.zip cd pcre-8.10 ./configure --prefix=/work/$USER/local/ --enable-utf8 make install
Rのconfigを再開
checking if libcurl is version 7 and >= 7.28.0... no configure: error: libcurl >= 7.28.0 library and headers are required with support for https
またエラーです
curl
wget --no-check-certificate https://curl.haxx.se/download/curl-7.47.1.tar.gz tar zxvfp curl-7.47.1.tar.gz cd curl-7.47.1 ./configure --prefix=/work/$USER/local make -j3 make install
Rのconfigを再開
../configure --prefix=/work/$USER/local --with-cairo --with-jpeglib --with-readline --with-tcltk --with-blas --with-lapack --enable-R-profiling --enable-R-shlib --enable-memory-profiling CPPFLAGS="-I/work/$USER/local/include" LDFLAGS="-L/work/$USER/local/lib"
成功しました
コンパイル
make
またエラー。。
/work/xxxxx/work/R-3.3.2/builddir/bin/exec/R: /usr/lib64/libgomp.so.1: version `GOMP_4.0' not found (required by /work/xxxxx/work/R-3.3.2/builddir/lib/libR.so)
これは使っているGCCとそのライブラリがずれていたためでした。
LD_LIBRARY_PATHに使っているGCCのライブラリパスを前の方に追加し再度make
make make install
これでOKです。