Can't load X11 in R after OS X Yosemite upgrade

南楼画角 提交于 2019-12-17 15:34:29

问题


Running into the following error when I try to use ggplot2 and plot within the console after upgrading to Yosemite:

Error in (function (display = "", width, height, pointsize, gamma, bg,  : 
  X11 module cannot be loaded
In addition: Warning message:
In (function (display = "", width, height, pointsize, gamma, bg,  :
  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): Library not loaded: /usr/X11/lib/libSM.6.dylib
  Referenced from: /Library/Frameworks/R.framework/Resources/modules//R_X11.so
  Reason: image not found

How can I go about resolving this?


回答1:


Execute the following in a terminal window:

locate libSM.6.dylib

or do it from an R console:

system("locate libSM.6.dylib")

On my Yosemite install it's in /opt/X11/lib/libSM.6.dylib.

If your setup is similar, then:

sudo ln -s /usr/X11 /opt/X11 

should help fix this temporarily, but I'd keep looking for a Yosemite R package (since that will accommodate all the changes Apple made to the filesystem structure).




回答2:


It looks like the OS update deleted the /usr/X11 and /usr/X11R6 symlinks. Please just re-install XQuartz from http://xquartz.macosforge.org which will setup the symlinks again for you.




回答3:


Perhaps won't work for everyone, i'm not even quite sure what the problem was, but I found the same error messages after installing Yosemite and was able to solve the problem simply by reinstalling XQuartz from http://xquartz.macosforge.org




回答4:


Had the same problem with R and OS X Yosemite (but with libpng15.15.dylib file). For me the following steps were helpful:

  • install latest XQuartz 2.7.7

  • sudo ln -s /opt/X11/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib



来源:https://stackoverflow.com/questions/26489928/cant-load-x11-in-r-after-os-x-yosemite-upgrade

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!