library failed attempting r gtk rgtk2

failed to load rgtk2 dynamic library, attempting to install it.



R falla después de instalar GTK y RGtk2 (7)

He instalado R3.0 en mi Mountain Lion Mac y, después de algunas pruebas y errores, la versión de GTK sugerida por http://r.research.att.com/ para R3.0: GTK + 2.24.17 framework.

Cargo el paquete en R3.0 y ejecuto uno de la demo. Veo (por un instante) que se genera un gráfico, pero inmediatamente R se bloquea. Normalmente, el bloqueo se produce cuando ejecuto la línea "win $ showAll ()" (CairoDevice work no problem). Este es el comienzo del registro de errores generado (con los detalles de mi configuración). ¡Gracias!

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


Actualización: por lo que puedo decir, este problema aún persiste (R versión 3.1.0), pero la información proporcionada por las personas en este hilo todavía hace el truco para solucionarlo. Terminé ejecutando la instalación muchas veces en diferentes sistemas Mac OS X en los últimos meses y terminé compartiendo la información para personas nuevas en R (básicamente, una versión más detallada de la respuesta de John Verzani, dirigida a Mac OS X > 10.7). Ha funcionado bien hasta ahora, así que con la posibilidad de ser útil para otros, quería publicar el enlace:

Trabajando alrededor de problemas GTK en R> 3.0


Además de la respuesta de jverzani, si quieres usar Homebrew:

brew install gtk+ export PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig:$PKG_CONFIG_PATH

y luego instale RGtk2 y cairoDevice desde la fuente.


En un MAC cuando trabaje con RI, intente seguir el principio de tratar de hacer todo de forma nativa y evite las soluciones Homebrew y Macports. Aunque para otros usos me encanta el homebrew.

Reitero la sugerencia de @BondedDust para utilizar el consejo de Simon Urbanek.

Paso 1: descargue la biblioteca desde http://r.research.att.com/#other

Paso 2: Simplemente verifique dónde está instalado este marco GTK + en su computadora --- en el mío se instaló en
/Library/Frameworks/GTK+.framework/

Paso 3: Encuentre el subdirectorio donde se encuentra el archivo pkg-config del GTK + recién instalado. En mi caso:
Versions/2.24.X11/Resources/lib/pkgconfig

Paso 4: asegúrese de que esto está en su variable PKG_CONFIG_PATH. En mi caso, simplemente establezco la variable en R directamente antes de instalar el paquete RGtk2 desde la fuente de la siguiente manera:
Sys.setenv(PKG_CONFIG_PATH= "/Library/Frameworks/GTK+.framework/Versions/2.24.X11/Resources/lib/pkgconfig")
install.packages("RGtk2", type="source")

NOTA: mi PKG_CONFIG_PATH estaba vacía anteriormente, por lo que no tuve que concatenar con el valor anterior, pero si ese no es el caso para usted, es fácil usar Sys.getenv para obtener el valor anterior y agregarlo si es necesario.


Quiero agradecer a todas las personas que contribuyeron a la solución de este problema. Finalmente, logré arreglarlo, después de numerosas pruebas (¡y hasta altas horas de la noche!). Los métodos básicos que se han propuesto son:

  • Instala GTk + y el cairo con homebrew

  • Instala GTk2 y el cairo con macports.

Nunca logré hacer que esto funcionara con macports, pero finalmente tuve éxito con Homebrew, después de muchos intentos infructuosos. Limpié mi RUTA que estaba un poco desordenado . Luego básicamente desinstalé X11, GTk +, el cairo y todas sus dependencias.

Primero instalé XQuartz-2.7.4.

Para la instalación de todos los componentes necesarios, he seguido las instrucciones que se encuentran here y he instalado yarp utilizando homebrew y las instrucciones asociadas. La mayoría de las personas pueden encontrar esto extraño (lo hice), pero la instalación de yarp instaló secuencialmente todas las dependencias necesarias para hacer que GTk + funcionara (obviamente, traté de instalar GTk + y cairo, pero nunca funcionó o, finalmente, RGTk2 no pudo compilar).

Luego instalé (usando R CMD INSTALL) GTk2, Cairo, cairoDevice y traqueteo desde fuentes. Después de tantos meses tratando de solucionar el problema, ¡no podía creer que todo funcionara!

Gracias de nuevo a todos los que contribuyeron con su esfuerzo y su investigación para solucionar el problema.

Enzo


Utilicé la solución Homebrew (sugerida por masaha03) en Snow Leopard y aún tuve problemas con R. Resultó que en tal configuración, gtk está usando cairo instalado por homebrew mientras que RGtk2 y cairoDevice están usando la instalación nativa de cairo que es una versión diferente Como cairo y otras bibliotecas dependientes son "solo para barriles", necesitaba forzar un enlace simbólico para esas:

brew link --force cairo brew link --force pixman

Estos dos eran suficientes para mí, pero podría haber otros que deban estar vinculados. La razón es que Homebrew cairo puede depender de una versión específica de una biblioteca, pero la versión del sistema de esa biblioteca puede ser más baja. En tal caso, la instalación de RGtk2 falla con un mensaje que indica que gtk + no está instalado.

Por último, PKG_CONFIG_PATH debe apuntar primero a los paquetes Homebrew y luego a los nativos:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/X11/lib/pkgconfig:$PKG_CONFIG_PATH

Luego instale RGtk2 y cairoDevice.


Yo también tuve este problema. Aquí es cómo trabajé para evitarlo usando macports gtk2, no la versión http://r.research.att.com/ . Esto fue con la versión R 3.0.1 (2013-05-16) - "Good Sport", también compilado desde la fuente.

instalar gtk2

sudo port install gtk2 ## (X11 -- not aqua)

configurar

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

luego instale

Descargué RGtk2 y cairoDevice de CRAN e hice la instalación de origen:

R CMD INSTALL RGtk2 R CMD INSTALL cairoDevice


respuesta es muy útil, he aquí algunos problemas adicionales que encontré y que edité en su publicación:

  1. Instalación de gtk2: definitivamente use macports gtk2. No contemple la construcción de gtk2 desde la fuente .

    sudo port install gtk2 +x11 ## (+ x11, no + quartz / + universal / + no_x11)

  2. Qué variante de gtk2 y sus dependencias para instalar: No instale la variante + cuarzo, use la variante + x11, incluso si (como con todos los sistemas operativos Mac OS 10.8.x +) tiene XQuartz y no X11 instalado por el puesto útil de Brandon Allbery en macports -Los usuarios que explican el nombre de la variante + cuarzo son un nombre inapropiado .

    2b. Si accidentalmente terminas seleccionando una variante distinta de + x11 para gtk2 y / o cualquiera de sus variantes (atk, cairo, pango, etc.) obtendrás errores de compilación en gtk2. Ejemplo: atk me estaba fallando con el error de compilación en /opt/local/include/atk-1.0/atk/atk.h. Debe eliminar las variantes instaladas incorrectamente: por ejemplo, sudo port uninstall --follow-dependents cairo @1.12.14_0+quartz+x11 y también limpiar las variantes no deseadas con el sudo port clean atk cairo pango ...

  3. Luego, como jverzani señala que necesita una instalación de origen ( no la instalación binaria de MacOS) de estos:

    ... # luego instale: descargue RGtk2 y cairoDevice desde CRAN y realice la instalación de origen:

    R CMD INSTALL RGtk2

    R CMD INSTALL cairoDevice