GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie installiere ich R 3.3.1 im eigenen Verzeichnis?

Dies ist eine etwas doppelte Frage (siehe So legen Sie PATH für R in meinem Verzeichnis installiert fest), aber ich bin auf ein neues Problem mit der neuen Version von R gestoßen.

Ich habe versucht, eine neue Version von R (R 3.3.1) in meinem eigenen Verzeichnis zu installieren.
Ich habe meinen vorherigen Installationsablauf befolgt

Aber ich bin auf ein Problem gestoßen, das ich vorher nicht hatte.

./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

Es scheint, dass die zlib-Version zu niedrig ist, also habe ich die aktuelle Version von zlib installiert

tar xvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
 ./configure --prefix=$HOME/Programme/zlib-1.2.11
make && make install

dann habe ich versucht, die Konfiguration für R erneut durchzuführen, wie:

./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"

Ich hatte immer noch den gleichen Fehler:

checking if zlib version >= 1.2.5... no
checking whether zlib support suffices... configure: error: zlib library and headers are required

Dann bemerkte ich, dass jemand das Problem umging, indem er die Konfigurationsdatei von R änderte
Ich folgte diesem Beispiel, löste den zlib-Fehler.
Aber andere Fehler folgten. Um es kurz zu machen,
ich habe andere abhängige Bibliotheken installiert

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][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"

Die Konfiguration schien zu funktionieren:

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

aber wenn ich anrufe

make && make install

noch „make“ hat es nicht bis zum Ende geschafft:

...
  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 `[email protected]_5.0'
../../lib/libR.so: undefined reference to `[email protected]_5.0'
../../lib/libR.so: undefined reference to `[email protected]_5.0'
../../lib/libR.so: undefined reference to `[email protected]_5.0'
../../lib/libR.so: undefined reference to `pcre_config'
../../lib/libR.so: undefined reference to `[email protected]_5.0'
../../lib/libR.so: undefined reference to `[email protected]_5.0'
../../lib/libR.so: undefined reference to `pcre_free'
../../lib/libR.so: undefined reference to `[email protected]_5.0'
../../lib/libR.so: undefined reference to `pcre_exec'
../../lib/libR.so: undefined reference to `[email protected]_5.0'
../../lib/libR.so: undefined reference to `pcre_maketables'
../../lib/libR.so: undefined reference to `[email protected]_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 `[email protected]_5.0'
collect2: error: ld returned 1 exit status

...
make: *** [R] Error 1 

Follow-up:
Basierend auf Thrigs Vorschlag habe ich die folgenden Zeilen zu meiner .cshrc-Datei hinzugefügt

setenv LD_LIBRARY_PATH $HOME/Programme/pcre-8.40/lib
setenv LD_LIBRARY_PATH $HOME/Programme/xz-5.2.3/lib

und

source .cshrc 

Problem gelöst!

Verwandte:Wie kann `date` die Zeit aus einer anderen Zeitzone ausgeben?

Akzeptierte Antwort:

Dies ist die Lösung für das oben genannte Problem

Folgen Sie dem Beispiel, um die Konfigurationsdatei von R zu ändern. Dann:

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

ändere das Makefile (Original:CC=gcc nach Modifikation:CC=gcc -fPIC) wie hier vorgeschlagen

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"

Fügen Sie die folgenden Zeilen zu meiner .cshrc-Datei hinzu

setenv LD_LIBRARY_PATH $HOME/Programme/pcre-8.40/lib
setenv LD_LIBRARY_PATH $HOME/Programme/xz-5.2.3/lib

und

source .cshrc 

Wechseln Sie nun in das R-3.3.1-Verzeichnis:

make && make install 

es sollte funktionieren.


Linux
  1. So installieren Sie den Apache-Webserver unter Ubuntu

  2. Wie installiere und konfiguriere ich den HAProxy unter CentOS?

  3. Wie lege ich das Arbeitsverzeichnis des übergeordneten Prozesses fest?

  4. Wie erhalte ich das absolute Verzeichnis einer Datei in Bash?

  5. Wie installiere ich den echten Firefox unter Debian?

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux

So installieren Sie die neueste Eclipse-IDE unter Linux

So installieren Sie OmniOS ce

Linux – Wie installiere ich X11 auf dem eigenen Linux-Buildroot-System?

So führen Sie eine Samba Active Directory-Installation unter Linux durch

So installieren Sie FreeNAS 11.1