2016-09-21 3 views
9

Kürzlich habe ich Microsoft R Open 3.3.1 auf meinem MacBook Pro (El Capitan 10.11.6) installiert. Wenn ich RStudio öffnen oder benutze ich die R-Konsole erhalte ich diese Warnmeldung:Warnmeldung beim Öffnen von RStudio oder der R-Konsole

Warning message: 
In doTryCatch(return(expr), name, parentenv, handler) : 
    unable to load shared object '/Library/Frameworks/R.framework/Resources/modules//R_X11.so': 
    dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 6): Symbol not found: _CGBitmapContextCreate 
    Referenced from: /Library/Frameworks/R.framework/Resources/modules//R_X11.so 
    Expected in: flat namespace 
in /Library/Frameworks/R.framework/Resources/modules//R_X11.so 

Kennen Sie eine Möglichkeit, den Druck der Nachricht (oder lösen das Problem) zu verhindern?

Danke!

+1

Klingt wie eine gute Frage für Microsoft-Unterstützung. Geht der Fehler weg, wenn Sie zurück zu CRAN R wechseln? – hrbrmstr

+1

Ich habe versucht, mit der CRAN R-Version und in diesem Fall gibt es keine Warnung. – amarchin

+0

@amarchin, Versuchen Sie gemäß https://github.com/IRkernel/IRkernel/issues/300, XQuartz von https://www.xquartz.org/ zu installieren. – jav

Antwort

5

Für eine CRAN R Installation sehe ich, dass R_X11.so Referenzen die folgenden Bibliotheken:

[email protected]:/Library/Frameworks/R.framework/Resources/modules 
$ otool -L R_X11.so 
R_X11.so: 
     R_X11.so (compatibility version 0.0.0, current version 0.0.0) 
     /opt/X11/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0) 
     /opt/X11/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0) 
     /usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5) 
     /opt/X11/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0) 
     /opt/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0) 
     /opt/X11/lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0) 
     /usr/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.9.0) 
     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) 
     /usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5) 
     /opt/X11/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0) 
     /opt/X11/lib/libXmu.6.dylib (compatibility version 9.0.0, current version 9.0.0) 
     /Library/Frameworks/R.framework/Versions/3.3/Resources/lib/libR.dylib (compatibility version 3.3.0, current version 3.3.1) 
     /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.17.0) 

Dass Bibliothek nicht das Symbol, das Sie vorschlagen referenziert:

[email protected]:/Library/Frameworks/R.framework/Resources/modules 
$ nm R_X11.so | grep CGBitmap 

jedoch für eine MRO-Installation, Ich sehe die folgenden Bibliotheken + Symbole:

[email protected]:/Volumes/Samsung 850 EVO/Library/Frameworks/R.framework/Resources/modules 
$ otool -L R_X11.so 
R_X11.so: 
     R_X11.so (compatibility version 0.0.0, current version 0.0.0) 
     /opt/X11/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0) 
     /opt/X11/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0) 
     /opt/X11/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0) 
     /opt/X11/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0) 
     /opt/X11/lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0) 
     /usr/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.2.0) 
     /opt/X11/lib/libXt.7.dylib (compatibility version 8.0.0, current version 8.0.0) 
     /opt/X11/lib/libXmu.6.dylib (compatibility version 9.0.0, current version 9.0.0) 
     /Library/Frameworks/R.framework/Versions/3.3.1-MRO/Resources/lib/libR.dylib (compatibility version 3.3.0, current version 3.3.1) 
     /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1255.1.0) 
     /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1) 

mit ref erenced Symbole:

[email protected]:/Volumes/Samsung 850 EVO/Library/Frameworks/R.framework/Resources/modules 
$ nm R_X11.so | grep CGBitmap 
       U _CGBitmapContextCreate 

Diese Symbole werden in der Regel durch die CoreGraphics.framework bereitgestellt:

[email protected]:/System/Library/Frameworks/CoreGraphics.framework/Versions/A 
$ nm CoreGraphics | grep CGBitmapContext 
0000000000046321 T _CGBitmapContextCreate 
< ... other symbols ... > 

jedoch die MRO-generierte R_X11.so verknüpfen sich nicht auf das, und so Lookup dieser Symbole versagt.

tl; dr: Microsoft liefert Ihnen defekte Software, die keine Links zu den Bibliotheken enthält, die die erforderlichen Symbole enthalten. Verwenden Sie stattdessen die CRAN-provided binaries of R.

0

Ich hatte das Problem auch. Das Problem wurde nach der Installation von XQuartz gelöst und das System neu angemeldet.

Hinweis: Die Verwendung von X11 (einschließlich tcltk) erfordert die Installation von XQuartz, da es nicht mehr zu OS X gehört. Installieren Sie XQuartz immer neu, wenn Sie Ihr OS X auf eine neue Hauptversion aktualisieren.

Verwandte Themen