R schlägt fehl, nach der Installation von GTK und RGtk2
Habe ich installiert R3.0 auf mein Mountain Lion, Mac und nach einigen trial-and-error die version von GTK vorgeschlagen http://r.research.att.com/ für R3.0: GTK+ 2.24.17 Rahmen.
Lade ich das Paket in R3.0, und führen Sie eine der demo. Ich sehe (für einen Augenblick), dass ein graph erzeugt wird, sondern sofort R stürzt ab.
In der Regel der Absturz erfolgt, wenn ich die Zeile "win$showAll()"
(CairoDevice Arbeit kein problem).
Dies ist der Beginn der error-log generiert (mit den details meiner Konfiguration).
Danke!
Process: R [2307]
Path: /Applications/R.app/Contents/MacOS/R
Identifier: org.R-project.R
Version: R 3.0.0 GUI 1.60 Snow Leopard build (6476)
Code Type: X86-64 (Native)
Parent Process: launchd [231]
User ID: 501
Date/Time: 2013-04-07 23:54:11.976 +0100
OS Version: Mac OS X 10.8.3 (12D78)
Report Version: 10
Interval Since Last Report: 11186 sec
Per-App Interval Since Last Report: 1133 sec
Per-App Crashes Since Last Report: 11
Anonymous UUID: 2C9EB7F4-E0B7-FDC4-7300-075C23CD86BB
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
Assertion failed: (_cairo_status_is_error (status)), function _cairo_error, file cairo-error.c, line 68.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff8afbd212 __pthread_kill + 10
1 libsystem_c.dylib 0x00007fff867ccb54 pthread_kill + 90
2 libsystem_c.dylib 0x00007fff86810dce abort + 143
3 libsystem_c.dylib 0x00007fff86811e2a __assert_rtn + 146
4 libcairo.2.dylib 0x000000010d383cdc _cairo_error + 48
5 libcairo.2.dylib 0x000000010d37c6f7 _cairo_set_error + 19
6 libgtk-x11-2.0.0.dylib 0x000000010eca326a gtk_default_draw_focus + 554
7 libgtk-x11-2.0.0.dylib 0x000000010ec63dfc gtk_range_expose + 1644
8 libgtk-x11-2.0.0.dylib 0x000000010ec7e2b8 gtk_scale_expose + 120
9 libgtk-x11-2.0.0.dylib 0x000000010ec22e79 _gtk_marshal_BOOLEAN__BOXED + 169
10 libgobject-2.0.0.dylib 0x0000000109642455 g_closure_invoke + 245
11 libgobject-2.0.0.dylib 0x00000001096524c8 signal_emit_unlocked_R + 2216
12 libgobject-2.0.0.dylib 0x0000000109653528 g_signal_emit_valist + 3336
13 libgobject-2.0.0.dylib 0x0000000109653a64 g_signal_emit + 116
14 libgtk-x11-2.0.0.dylib 0x000000010ed38bd8 gtk_widget_event_internal + 664
15 libgtk-x11-2.0.0.dylib 0x000000010eba0fc1 gtk_container_propagate_expose + 369
16 libgtk-x11-2.0.0.dylib 0x000000010eb72e06 gtk_box_forall + 54
17 libgtk-x11-2.0.0.dylib 0x000000010eba3936 gtk_container_expose + 150
18 libgtk-x11-2.0.0.dylib 0x000000010ec22e79 _gtk_marshal_BOOLEAN__BOXED + 169
19 libgobject-2.0.0.dylib 0x0000000109642455 g_closure_invoke + 245
20 libgobject-2.0.0.dylib 0x00000001096524c8 signal_emit_unlocked_R + 2216
21 libgobject-2.0.0.dylib 0x0000000109653528 g_signal_emit_valist + 3336
22 libgobject-2.0.0.dylib 0x0000000109653a64 g_signal_emit + 116
23 libgtk-x11-2.0.0.dylib 0x000000010ed38bd8 gtk_widget_event_internal + 664
24 libgtk-x11-2.0.0.dylib 0x000000010eba0fc1 gtk_container_propagate_expose
- Möchte nur sagen, ich habe das gleiche problem auf dem gleichen system... ich denke, es ist der Gtk+ - framework, aber ich weiß nicht,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte auch dieses problem. Hier ist, wie ich gearbeitet habe um es mit macports gtk2-nicht die http://r.research.att.com/ version. Dies wurde mit R version 3.0.1 (2013-05-16) - "Gut Sport", auch aus den Sourcen übersetzt.
install gtk2 -
konfigurieren
dann installieren
Ich heruntergeladen RGtk2 und cairoDevice von CRAN und Tat, Quelle installieren:
sudo port install gtk
) und verwenden Sie die standard-R für Mac von CRAN, dann können Sie vielleicht Weg mit Hilfe dieser Binärpakete dl.dropboxusercontent.com/u/515592/RGtk2-binary.tar.gz und dl.dropboxusercontent.com/u/515592/cairoDevice-binary.tar.gz . Ich denke, das sollte eine installation der route, der nicht braucht XCode installiert werden. Einige details auf, was getan wurde sind hier: dl.dropboxusercontent.com/u/515592/README-mac-gtk.mdNeben jverzani Antwort, wenn Sie verwenden möchten Homebrew:
installieren und dann RGtk2 und cairoDevice von der Quelle.
Benutzte ich die Homebrew-Lösung (vorgeschlagen von masaha03) auf Snow Leopard und hatte immer noch Absturz Probleme mit R. Es stellte sich heraus, dass in einer solchen Konfiguration, gtk ist mit Kairo installiert homebrew in der Erwägung, dass RGtk2 und cairoDevice werden, wenn das native Kairo-installation, die eine andere version ist. Da Kairo und anderen abhängigen Bibliotheken sind "keg-nur", die ich brauchte, um zu erzwingen, einen symlink für diejenigen:
Diese beiden waren ausreichend für mich, aber möglicherweise gibt es andere, die müssen verbunden werden. Der Grund dafür ist, dass die Homebrew-Kairo könnte davon abhängig sein, ob eine bestimmte version einer Bibliothek, aber die system-version der Bibliothek kann niedriger sein. In einem solchen Fall, die installation von RGtk2 schlägt fehl mit einer Fehlermeldung, dass gtk+ nicht installiert.
Schließlich die PKG_CONFIG_PATH hat auf die Homebrew-Pakete zuerst und dann die einheimischen:
Dann installieren RGtk2 und cairoDevice.
Auf einem MAC bei der Arbeit mit R, versuche ich zu Folgen, das Prinzip der Versuch, alles zu tun, nativ und vermeiden, Homebrew und Macports Lösungen. Obwohl für andere Zwecke, die ich lieben homebrew.
Werde ich nur noch einmal auf die Anregung von @BondedDust zu verwenden, Simon Urbanek Beratung.
Schritt 1: Laden Sie die Bibliothek aus http://r.research.att.com/#other
Schritt 2: Einfach überprüfen, wo das GTK+ - framework ist nun auf Ihrem computer installiert---am Bergwerk installiert wurde:
/Library/Frameworks/GTK+.framework/
Schritt 3: Finden Sie die sub-Verzeichnis, in dem die neu installierten GTK+'s pkg-config-Datei gespeichert ist. In meinem Fall:
Versions/2.24.X11/Resources/lib/pkgconfig
Schritt 4: Stellen Sie sicher, dass dies in Ihrem PKG_CONFIG_PATH variable. In meinem Fall habe ich einfach die variable, in der R, direkt vor der Installation des RGtk2 Paket aus den Quellen wie folgt:
Sys.setenv(PKG_CONFIG_PATH=
"/Library/Frameworks/GTK+.framework/Versions/2.24.X11/Resources/lib/pkgconfig")
install.packages("RGtk2", type="source")
HINWEIS: meine PKG_CONFIG_PATH war vorher leer und so brauchte ich nicht zu verketten, um den alten Wert, aber wenn das nicht der Fall für Sie ist es einfach zu bedienen Sys.getenv um den alten Wert und fügen Sie, wenn nötig.
cairoDevice
. Da dies ein relativ frischer Sierra installieren, Stellen Sie sicher, dass Sie XQuartz installiert, dannln -s /opt/X11/include/X11 /usr/local/include/X11
führen Sie die Schritte oben für RGtk2, danninstall.packages("cairoDevice", type="source")
Möchte ich allen danken, die dazu beigetragen, eine Lösung für dieses problem. Schließlich habe ich es geschafft, es zu beheben, nachdem zahlreiche Studien (und spät nachts!).
Die grundlegenden Methoden, die vorgeschlagen wurden, sind:
installieren Sie GTk+ und cairo mit homebrew
install GTk2 und Kairo mit macports
Habe ich nie geschafft, diese Arbeit zu machen, die mit macports, aber schließlich habe ich mich immer erfolgreich mit homebrew, nach vielen erfolglosen versuchen.
Ich räumte mein WEG, der war immer ein bisschen chaotisch.
Dann habe ich im Grunde deinstalliert X11, GTk+, cairo und alle Ihre Abhängigkeiten.
Habe ich zuerst installiert XQuartz-2.7.4.
Für die installation aller benötigten Komponenten habe ich die Anleitung befolgt gefunden hier und installiert yarp mit homebrew und den zugehörigen Anweisungen. Die meisten Menschen können fand diese bizarre (habe ich), aber die Installation yarp installiert nacheinander alle benötigten Abhängigkeiten zu machen, GTk+ Arbeit (natürlich habe ich versucht, es zu installieren GTk+ und cairo aber nie gearbeitet oder irgendwann RGTk2 nicht kompilieren).
Ich dann installiert (mit R CMD INSTALL), GTk2, Kairo, cairoDevice und Rassel aus den Quellen.
Nach so vielen Monaten versucht, das problem zu beheben ich konnte nicht glauben, dass alles funktioniert!
Nochmals vielen Dank an alle, die beigetragen haben mit Ihrer Mühe und Ihrer Forschung, um das problem zu beheben.
Enzo
Update: soweit ich das beurteilen kann, dieses problem noch weiterhin besteht (R version 3.1.0), aber die Informationen, die von Menschen in diesem thread noch immer funktioniert der trick, um es. Ich landete laufen durch die installation viele Male auf verschiedenen Mac OS X-Systeme in den letzten paar Monaten und endete werfen die info zusammen für neue Leute zu R (im Grunde eine etwas ausführlichere version von John Verzani Antwort richtet sich an Mac-OS-X - > 10.7). Es funktionierte gut so weit also die chance, nützlich zu sein für andere, wollte ich den link posten:
Arbeiten rund um die GTK-Probleme auf R > 3.0
jverzani ist Antwort ist sehr nützlich, hier einige weitere Themen, die ich fand, bearbeitete ich seinen post:
Installation von gtk2: auf jeden Fall nutzen macports gtk2. Nicht betrachten Gebäude gtk2 selber aus dem Quellcode.
sudo port install gtk2 +x11
## (+x11, nicht +Quarz +universal - /+no_x11)Welche Variante von gtk2 und seine Abhängigkeiten zu installieren: Tun nicht installieren Sie die +Quarz-Variante, mit der + - x11-Variante, auch wenn (wie bei allen Mac OS 10.8.x+), müssen Sie XQuartz und nicht X11 installiert pro Brandon Allbery nützlichen Beitrag macports-Benutzer erklärt die +Quarz Variante name ist irreführend.
2b. Wenn Sie versehentlich am Ende der Auswahl alles andere als +x11-Variante für gtk2 und/oder eine seiner Varianten (atk, cairo, pango, etc.) erhalten Sie kompilieren, schlägt fehl, gtk2. Beispiel: atk wurde nicht für mich mit compile-error auf /opt/local/include/atk-1.0/atk/atk.h . Sie müssen löschen Sie den falschen installiert Varianten: z.B.
sudo port uninstall --follow-dependents cairo @1.12.14_0+quartz+x11
und auchreinigen Sie die unwantedly ausgewählten Varianten mit
sudo port clean atk cairo pango ...
Dann als jverzani Notizen Notizen, die Sie benötigen eine Quelle installieren (nicht MacOS binären installieren) diese:
...#dann installieren: download RGtk2 und cairoDevice von CRAN und Quelle installieren:
R CMD INSTALL RGtk2
R CMD INSTALL cairoDevice