web-dev-qa-db-ja.com

MacにcairoRを含める

コマンドinstall.packages('Cairo')を使用して、Rstudioで「Cairo」パッケージを使用しようとしていますが、問題なく実行されます。このメッセージが表示されます-

_The downloaded binary packages are in
/var/folders/xn/c1nj85gx62b89876s15sbv9h0000gn/T//RtmpK9JM0l/downloaded_packages 
_

パッケージはパッケージリストに表示されますが、library(Cairo)またはlibrary('Cairo')を使用してパッケージをインクルードしようとすると、このエラーメッセージが表示されます-

_Error : .onLoad failed in loadNamespace() for 'Cairo', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so, 6): Library not loaded: /opt/X11/lib/libXrender.1.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so
  Reason: image not found
Error: package or namespace load failed for ‘Cairo’
_

sessionInfo()

_R version 3.3.1 (2016-06-21)
Platform: x86_64-Apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)

locale:
[1] he_IL.UTF-8/he_IL.UTF-8/he_IL.UTF-8/C/he_IL.UTF-8/he_IL.UTF-8

attached base packages:
[1] stats4    parallel  stats     graphics  grDevices utils     datasets  methods  
[9] base     

other attached packages:
[1] GenomicRanges_1.24.2 GenomeInfoDb_1.8.3   IRanges_2.6.1       
[4] S4Vectors_0.10.2     ggbio_1.20.2         BiocGenerics_0.18.0 
[7] ggplot2_2.1.0        BiocInstaller_1.22.3 shiny_0.13.2        
_

なぜこれが起こっているのかわかりません、何か助けはありますか?ありがとう!

11
T.G.

XQuartzと呼ばれるMac用のX11をダウンロードする必要があります。 OS Xにはもう同梱されていないため、次の場所から個別にダウンロードする必要があります。 https://www.xquartz.org/

15
haddr

XQuartzをインストールしても問題が解決しなかった場合:

「ライブラリがロードされていません:...」で始まるエラーメッセージの部分を確認してください。たとえば、ユーザーの質問では、エラーメッセージに次の行が含まれています。

_dlopen(/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so, 6): Library not loaded: /opt/X11/lib/libXrender.1.dylib
_

この部分に注意してください:

_Library not loaded: /opt/X11/lib/libXrender.1.dylib
_

それがXQuartzについての手がかりとなる部分です。

ただし、私の場合は、次のようにlibjpegがロードされないように指定しました。

_Error: package or namespace load failed for ‘Cairo’:
 .onLoad failed in loadNamespace() for 'Cairo', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/local/lib/R/3.5/site-library/Cairo/libs/Cairo.so':
  dlopen(/usr/local/lib/R/3.5/site-library/Cairo/libs/Cairo.so, 6): Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
  Referenced from: /usr/local/lib/R/3.5/site-library/Cairo/libs/Cairo.so
  Reason: image not found
Error: loading failed
_

この部分に注意してください:

_Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
_

これを修正するには、実行する必要がありました

_brew unlink libjpeg; brew reinstall libjpeg
_

それを機能させるために。次に、libtiffに対して同じことをしなければなりませんでした。

_brew unlink libtiff; brew reinstall libtiff
_

これらのライブラリの両方を修正した後、install.packages("Cairo")の実行は機能しました。

2
Chris Middleton