2012-12-23 27 views
5

Tôi đã cài đặt R trên một OSX 10.7.5 máy chủ sử dụng brew:Homebrew R Êđê dựng thiếu Cairo

brew install R 

Tất cả mọi thứ dường như rất OK xa, tuy nhiên Cairo không hoạt động:

> svg(tempfile()) 
Warning messages: 
1: In svg(tempfile()) : 
    unable to load shared object '/usr/local/Cellar/r/2.15.2/R.framework/Resources/library/grDevices/libs//cairo.so': 
    dlopen(/usr/local/Cellar/r/2.15.2/R.framework/Resources/library/grDevices/libs//cairo.so, 6): image not found 
2: In svg(tempfile()) : failed to load cairo DLL 

Đối tượng chia sẻ tệp có vẻ bị thiếu hoàn toàn:

id-86-243:Resources jeroen$ ls -ltr library/grDevices/libs/ 
total 488 
-rwxrwxr-x 1 jeroen admin 245764 Dec 22 17:03 grDevices.so 

Tôi hiếm khi sử dụng OSX, vì vậy tôi không chắc chắn đây có phải là lỗi cụ thể không phân phối R, hoặc nếu tôi đã làm điều gì đó sai khi xây dựng nó?

+1

ISTR rằng Simon Urbanek không khuyến khích mọi người sử dụng homebrew để biên dịch R. Vào ngày 4 tháng 11 năm 2012 trong MacSIG, ông viết: "Bạn không thể sử dụng CRAN nhị phân với homebrew. Nếu bạn sử dụng homebrew, bạn hoàn toàn là của riêng bạn và bạn phải xây dựng mọi thứ từ các nguồn. " –

+0

Tốt thôi. Trong Linux, chúng tôi luôn cài đặt các gói từ nguồn. grDevices là cơ sở R mặc dù. – Jeroen

+0

Các gói mặc định bao gồm cả 'base' và 'grDevices', nhưng grDevices không nằm trong gói 'base'. –

Trả lời

5

Tôi vừa gặp sự cố này. Có vẻ như đã xảy ra sự cố với pkg-config định vị cairo trong giai đoạn định cấu hình R. Giải pháp thay thế có vẻ là:

export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig 

để R có thể sử dụng đúng cách cairo.

Tôi cài đặt R trực tiếp từ nguồn, thay vì với homebrew, nhưng tôi sử dụng homebrew để giữ cho các thư viện khác được cập nhật. Điều này giải quyết vấn đề cho tôi.

Để tham khảo, tôi đang chạy OSX Mavericks.

+3

Cài đặt từ nguồn trong homebrew (ví dụ như 'brew install R - build-from-source') khiến R được liên kết với thư viện cairo thích hợp cho tôi. –

Các vấn đề liên quan