2015-05-21 19 views
6

ich vor kurzem ein Paket von Bioconductor arbeiten zu installieren R 3.2 erhalten benötigt, aber nachdem ich installierte, erhalte ich folgende Fehlermeldung:R 3.2, GCC, und Homebrew

[16:16:11 20] $ r 
dyld: Library not loaded: /usr/local/lib/gcc/4.9/libgfortran.3.dylib 
    Referenced from: /usr/local/Cellar/r/3.2.0/R.framework/Versions/3.2/Resources/lib/libR.dylib 
    Reason: image not found 
Trace/BPT trap: 5 

Sicher genug, wurde Gebräu auf verwenden gcc 5, so sagte ich zu brauen

die Version 4.9 verwenden
brew switch gcc 4.9 

die R läuft bekam, aber dann wäre R in der Mitte eines Pakets nicht installieren (genauer gesagt, wenn ich biocLite('DESeq2') lief.

Seitdem habe ich eine Reihe von Dingen ausprobiert, einschließlich der Installation von gcc 4.8 (aber ich kann nicht scheinen, R zu bekommen, um es zu benutzen, sogar über ~/.R/Makevars). Selbst wenn 4.9 nicht installiert ist, besteht R darauf, den oben gezeigten Pfad aufzurufen.

Die Windows-Version von R scheint 4.9 zu sagen, nicht mit 3.2 funktioniert:

R-devel temporarily used a new toolchain based on 4.9.2 gcc, put together by Duncan Murdoch using build scripts written by a contractor. However, there were too many incompatibilities with existing code, and this toolchain will not be used for R 3.2.0. See notes for details on building and testing the new toolchain.

Jede Hilfe wäre sehr dankbar!

bearbeiten: habe ich versucht, von der Quelle der Installation vorgeschlagen, wie durch @lmw, aber es funktioniert nicht.

[11:27:55 2] $ brew install r --build-from-source 
==> Installing r from homebrew/homebrew-science 
==> Installing r dependency: gcc 
==> Downloading http://ftpmirror.gnu.org/gcc/gcc-5.1.0/gcc-5.1.0.tar.bz2 
######################################################################## 100.0% 
curl: (28) Resolving timed out after 5542 milliseconds 
Trying a mirror... 
==> Downloading https://ftp.gnu.org/gnu/gcc/gcc-5.1.0/gcc-5.1.0.tar.bz2 
######################################################################## 100.0% 
==> Patching 
patching file gcc/jit/Make-lang.in 
==> ../configure --build=x86_64-apple-darwin14.3.0 --prefix=/usr/local/Cellar/gcc/5.1.0 --libdir=/usr/local/Cellar/gc 
==> make bootstrap 
==> make install 
==> Caveats 
GCC has been built with multilib support. Notably, OpenMP may not work: 
    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60670 
If you need OpenMP support you may want to 
    brew reinstall gcc --without-multilib 
==> Summary 
    /usr/local/Cellar/gcc/5.1.0: 1351 files, 248M, built in 32.5 minutes 
==> Installing r 
==> Using Homebrew-provided fortran compiler. 
This may be changed by setting the FC environment variable. 
==> Downloading http://cran.rstudio.com/src/base/R-3/R-3.2.0.tar.gz 
######################################################################## 100.0% 
==> Patching 
patching file src/modules/lapack/vecLibg95c.c 
==> ./configure --prefix=/usr/local/Cellar/r/3.2.0_1 --with-libintl-prefix=/usr/local/opt/gettext --enable-memory-pro 
==> make 
** installing vignettes 
** testing if installed package can be loaded 
* DONE (survival) 
make[1]: *** [recommended-packages] Error 2 
make: *** [stamp-recommended] Error 2 

READ THIS: https://git.io/brew-troubleshooting 
If reporting this issue please do so at (not Homebrew/homebrew): 
    https://github.com/homebrew/homebrew-science/issues 

Edit 2: Gerade für den Spaß von ihm, habe ich versucht r Installation ohne die Option --build-from-source, und es hat funktioniert. Siehe meine Lösung unten. (Ich denke, das Bauen von der Quelle kann das Problem mit der gcc 5 Aktualisierung behoben haben, die Dinge funktionierte. Ich bin nicht werde es versuchen (Dinge arbeiten endlich wieder ... warum Schraube damit?), Aber ich frage mich, ob ich kann die Variablen, die ich gesetzt in ~/.R/Makevars (siehe wiederum Lösung unten) entfernen.

+0

Ich befasse mich jetzt auch mit diesem gleichen Problem! – stanekam

+1

Relevante Lektüre: https://github.com/Homebrew/homebrew-science/issues/2286 – stanekam

+0

Nicht sicher, wie ich das verpasst habe! Danke @iShouldUseAName! – muppetjones

Antwort

1

Das von this commit aufgelöst wurde, mit neuen Flaschen für R. Achten Sie darauf, Sie brew update und brew upgrade r.

+0

Gut zu wissen! Ich frage mich, warum das früher nicht geklappt hat ... Ich habe diesen Morgen aktualisiert und aktualisiert, aber es hat nicht funktioniert. Da das, was ich habe, funktioniert, werde ich das wahrscheinlich noch nicht tun ... nur für den Fall =). Vielen Dank!! – muppetjones

+0

Es ist auch möglich, dass das Commit der Grund ist, warum die Dinge anfingen zu arbeiten ... gibt es eine Möglichkeit zu sagen, ob es daran liegt, was ich gegen das Commit getan habe? Auf der einen Seite möchte ich nicht Ihre Antwort als Lösung wählen, da es weniger eine Lösung und mehr von "es ist fest!", Aber zur gleichen Zeit möchte ich nicht eine andere Antwort wählen, wenn der Grund Dinge arbeiten, ist wegen der Verpflichtung. – muppetjones

+0

Wenn Sie R neu installiert haben und es aus der Flasche in '/ usr/local/Cellar/r/3.2.0_1'" gegossen "wurde, verwenden Sie die neueste Formelrevision. Der Wiederaufbau von der Quelle sollte auch die Dinge reparieren, obwohl die Revision (die das _1 hinzufügt) immer noch ein Upgrade auslösen wird (siehe 'brew veraltet'). –

3

Wiederaufbau R von der Quelle für mich das gleiche Problem behebt.

Gebräu neu installieren r --build-from-Quelle

+0

Probieren Sie es jetzt, aber es scheint bei dem Download fest ... vielleicht ist es kompilieren? Hoffentlich funktioniert das! Vielen Dank! – muppetjones

+0

Die Neuinstallation fehlgeschlagen (ich denke, es gab andere Probleme), aber ich habe "r" entfernt und versucht, mit der Option --build-from-source zu installieren, die fehlgeschlagen ist. (Siehe Bearbeiten in Frage). Ich denke jedoch, dass das Erstellen von Source verursachte eine der Abhängigkeiten von der Quelle zu bauen (ich habe nicht die Befehlszeile ausgegeben ... Dinge abgestürzt, ich habe neu gestartet), die einige der Probleme im Zusammenhang mit der behoben Gcc-Upgrade. Wenn deine Antwort der Schritt ist, der Dinge repariert, wähle ich deine Antwort - lass es mich wissen! – muppetjones

0

Dies ist keine vollständige Korrektur (es verwendet eine ältere GCC-Version), aber es bringt mich wieder zum Laufen:

  1. brew tap homebrew/homebrew-versions
  2. brew install gcc48
  3. brew install r
    • HINWEIS: Ich lief brew install r --build-from-source (neu installieren funktionierte nicht), die etwas wieder aufgebaut, aber nicht r (es nicht). Es kann teilweise für diese Arbeit verantwortlich sein. Bitte lass es mich wissen, wenn es ist! Ich möchte @ lmw Kredit geben, wenn seine Antwort der Grund ist, der dies funktionierte.
  4. bearbeiten ~/.R/Makevars und fügen Sie die folgenden Zeilen (edit Pfade je nach Bedarf):

    CC=/usr/local/Cellar/gcc48/4.8.4/bin/gcc-4.8 
    CXX=/usr/local/Cellar/gcc48/4.8.4/bin/g++-4.8 
    CFLAGS=-std=c99 
    
  5. Run r.

  6. (Wenn Sie versuchen, Bioconductor zu installieren)

    source("http://bioconductor.org/biocLite.R") 
    biocLite()