How to install R 3.3.1 in my own directory
This is the solution to the issue mentioned above
Follow the example to modify the configure file of R Then:
tar xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=$HOME/Programme/zlib-1.2.11
make && make install
tar zxvf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make -f Makefile-libbz2_so
make clean
modify the Makefile (original: CC=gcc after modification: CC=gcc -fPIC) as suggested here
make
make install PREFIX=$HOME/Programme/bzip2-1.0.6
tar zxvf xz-5.2.3.tar.gz
cd xz-5.2.3
./configure --prefix=$HOME/Programme/xz-5.2.3
make -j3
make install
tar zxvf pcre-8.40.tar.gz
cd pcre-8.40
./configure --prefix=$HOME/Programme/pcre-8.40 --enable-utf8
make -j3 && make install
tar zxvf curl-7.52.1.tar.gz
cd curl-7.52.1
./configure --prefix=$HOME/Programme/curl-7.52.1 --with-ssl
make && make install
./configure --prefix=$HOME/Programme/R-3.3.1 --enable-R-shlib LDFLAGS="-L/$HOME/Programme/zlib-1.2.11/lib -L/$HOME/Programme/bzip2-1.0.6/lib -L/$HOME/Programme/xz-5.2.3/lib -L/$HOME/Programme/pcre-8.40/lib -L/$HOME/Programme/curl-7.52.1/lib" CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include -I/$HOME/Programme/bzip2-1.0.6/include -I/$HOME/Programme/xz-5.2.3/include -I/$HOME/Programme/pcre-8.40/include -I/$HOME/Programme/curl-7.52.1/include"
Add the lines below to my .cshrc file
setenv LD_LIBRARY_PATH $HOME/Programme/pcre-8.40/lib
setenv LD_LIBRARY_PATH $HOME/Programme/xz-5.2.3/lib
and
source .cshrc
Now go to R-3.3.1 directory:
make && make install
it should work.
Related videos on Youtube
Jun
Updated on September 18, 2022Comments
-
Jun over 1 year
This is a somewhat duplicate question (see How to set PATH for R installed in my directory ) but I did meet some new problem with new version of R.
I was trying install a new version of R (R 3.3.1) in my own directory. I followed my previous installation flow
But I met an issue which I did not have before.
./configure --prefix=$HOME/Programme/R-3.3.1 ....... checking for zlib.h... yes checking if zlib version >= 1.2.5... no checking whether zlib support suffices... configure: error: zlib library and headers are required
it seems that the zlib version is too low, so I installed the current version of zlib
tar xvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure --prefix=$HOME/Programme/zlib-1.2.11 make && make install
then I tried to do the configure for R again like:
./configure --prefix=$HOME/Programme/R-3.3.1 --enable-R-shlib LDFLAGS="-L/$HOME/Programme/zlib-1.2.11/lib" CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include"
still I had the same error:
checking if zlib version >= 1.2.5... no checking whether zlib support suffices... configure: error: zlib library and headers are required
Then I noticed someone circumvent the problem by modify the configure file of R
I followed that example, solved the zlib error. but other errors ensued. To put a long story short, I installed other dependent librariestar xvf zlib-1.2.11.tar.gz cd zlib-1.2.11 ./configure --prefix=$HOME$Programme/zlib-1.2.11 make && make install tar zxvf bzip2-1.0.6.tar.gz cd bzip2-1.0.6 make -f Makefile-libbz2_so make clean # modify the Makefile (original: CC=gcc after modification: CC=gcc -fPIC) as suggested [here][2] make make install PREFIX=/opt/bzip2-1.0.6 tar zxvf xz-5.2.3.tar.gz cd /root/xz-5.2.3 ./configure --prefix=$HOME/Programme/xz-5.2.3 make -j3 make install tar zxvf pcre-8.40.tar.gz cd /root/pcre-8.40 ./configure --prefix=$HOME/Programme/pcre-8.40 --enable-utf8 make -j3 && make install tar zxvf curl-7.52.1.tar.gz cd /root/curl-7.52.1 ./configure --prefix=$HOME/Programme/curl-7.52.1 make && make install ./configure --prefix=$HOME/Programme/R-3.3.1 --enable-R-shlib LDFLAGS="-L/$HOME/Programme/zlib-1.2.11/lib -L/$HOME/Programme/bzip2-1.0.6/lib -L/$HOME/Programme/xz-5.2.3/lib -L/$HOME/Programme/pcre-8.40/lib -L/$HOME/Programme/curl-7.52.1/lib" CPPFLAGS="-I/$HOME/Programme/zlib-1.2.11/include -I/$HOME/Programme/bzip2-1.0.6/include -I/$HOME/Programme/xz-5.2.3/include -I/$HOME/Programme/pcre-8.40/include -I/$HOME/Programme/curl-7.52.1/include"
The configure seemed to work:
R is now configured for x86_64-pc-linux-gnu Source directory: . Installation directory: $HOME/Programme/R-3.3.1 C compiler: gcc -std=gnu99 -g -O2 Fortran 77 compiler: gfortran -g -O2 C++ compiler: g++ -g -O2 C++11 compiler: g++ -std=c++0x -g -O2 Fortran 90/95 compiler: gfortran -g -O2 Obj-C compiler: Interfaces supported: X11, tcltk External libraries: readline, curl Additional capabilities: PNG, JPEG, NLS, cairo, ICU Options enabled: shared R library, shared BLAS, R profiling Capabilities skipped: TIFF Options not enabled: memory profiling Recommended packages: yes
but when I call
make && make install
still "make" could not make it until the end:
... gcc -std=gnu99 -Wl,--export-dynamic -fopenmp -L../../lib -L//HOME/Programme/zlib-1.2.11/lib -L//HOME/Programme/bzip2-1.0.6/lib -L//HOME/Programme/xz-5.2.3/lib -L//HOME/Programme/pcre-8.40/lib -L//HOME/Programme/curl-7.52.1/lib -o R.bin Rmain.o -lR -lRblas /usr/bin/ld: warning: libpcre.so.1, needed by ../../lib/libR.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: liblzma.so.5, needed by ../../lib/libR.so, not found (try using -rpath or -rpath-link) ../../lib/libR.so: undefined reference to `pcre_fullinfo' ../../lib/libR.so: undefined reference to `lzma_lzma_preset@XZ_5.0' ../../lib/libR.so: undefined reference to `lzma_alone_decoder@XZ_5.0' ../../lib/libR.so: undefined reference to `lzma_crc64@XZ_5.0' ../../lib/libR.so: undefined reference to `lzma_raw_encoder@XZ_5.0' ../../lib/libR.so: undefined reference to `pcre_config' ../../lib/libR.so: undefined reference to `lzma_code@XZ_5.0' ../../lib/libR.so: undefined reference to `lzma_stream_decoder@XZ_5.0' ../../lib/libR.so: undefined reference to `pcre_free' ../../lib/libR.so: undefined reference to `lzma_raw_decoder@XZ_5.0' ../../lib/libR.so: undefined reference to `pcre_exec' ../../lib/libR.so: undefined reference to `lzma_version_string@XZ_5.0' ../../lib/libR.so: undefined reference to `pcre_maketables' ../../lib/libR.so: undefined reference to `lzma_stream_encoder@XZ_5.0' ../../lib/libR.so: undefined reference to `pcre_compile' ../../lib/libR.so: undefined reference to `pcre_study' ../../lib/libR.so: undefined reference to `pcre_version' ../../lib/libR.so: undefined reference to `lzma_end@XZ_5.0' collect2: error: ld returned 1 exit status ... make: *** [R] Error 1
Follow up: Based on thrig 's suggestion, I added the lines below to my .cshrc file
setenv LD_LIBRARY_PATH $HOME/Programme/pcre-8.40/lib setenv LD_LIBRARY_PATH $HOME/Programme/xz-5.2.3/lib
and
source .cshrc
problem solved!