Skip to content

Using cairo on arm64 macOS

7 messages · Jan Netík, Jean Thioulouse, Kevin Ushey +1 more

#
Hi,

This is a repost of a topic which I have accidentally posted on r-devel mailing list:

first, let me appreciate the efforts around "Apple Silicone" builds of R, works like a charm! However, I have found recently that this build does not have cairo in capabilities() and in turn I cannot use cairo_pdf device. Intel build has cairo readily available, but M1 does not. I have done various attempts on installing cairo using brew or install.package("Cairo"); maybe the most preferable way is to follow https://mac.r-project.org/bin/, but that also failed stating "architecture aarch64 is not supported on os darwin20, only available architectures: x86_64arm64". I have also tried downloading cairo from https://mac.r-project.org/bin/darwin20/arm64/ and copying it into opt/R/arm64, but with no success... Nor current devel R worked for me in that issue.

I think that I overlooked something, maybe around installing cairo to opts/R/arm64 (is it really mere copying?). In that case I would edit the docs and websites around the Apple Silicone build to better clarify what needs to be done, but I may be that cairo is just not yet supported.

Anyway many thank for looking into this!

Best,
Jan
#
Hi

No problem with cairo here. I have a MacBook M1 with plain R install and I can use svg, cairo_pdf and cairo_ps.
Maybe try to re-install R...
jpeg         png        tiff       tcltk         X11        aqua 
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE 
   http/ftp     sockets      libxml        fifo      cledit       iconv 
       TRUE        TRUE        TRUE        TRUE        TRUE        TRUE 
        NLS       Rprof     profmem       cairo         ICU long.double 
       TRUE        TRUE        TRUE        TRUE        TRUE       FALSE 
    libcurl 
       TRUE
R version 4.1.2 (2021-11-01)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Monterey 12.2.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/lib/libRlapack.dylib

Random number generation:
 RNG:     Mersenne-Twister 
 Normal:  Inversion 
 Sample:  Rounding 
 
locale:
[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8

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

loaded via a namespace (and not attached):
[1] compiler_4.1.2 tools_4.1.2
#
Thank you for sharing. Indeed, with R 4.1.2, cairo works well. But when I
install the newest R 4.1.3, cairo capability is FALSE. Isn`t the cairo
omitted from the newest bundle?

Best,
Jan

st 16. 3. 2022 v 16:18 odes?latel Jean Thioulouse <
jean.thioulouse at univ-lyon1.fr> napsal:

  
  
1 day later
#
I'm seeing the same thing:
R version 4.1.3 (2022-03-10)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Monterey 12.2.1
[1] ""

And indeed, cairo.so is missing from grDevices/libs, so I think this build
was (accidentally?) produced without Cairo.

Thanks,
Kevin
On Wed, Mar 16, 2022 at 10:57 AM Jan Net?k <netikja at gmail.com> wrote:

            

  
  
#
Jan,

thanks. Indeed, the build VM had an issue in the cairo library installation thus the capability was not compiled. I have fixed the issue by doing a full re-build of the library recipes so please get the latest build from
https://mac.R-project.org/
and let me know if it works for you (I noticed another issue with binary versioning where Darwin and macOS versions were swapped which is now also fixed). If that resolves the issue, I will re-build the 4.1.3 release and publish the new version.

Thanks,
Simon
#
OK, I can confirm than with

R version 4.1.3 Patched (2022-03-10 r81925)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Monterey 12.3

cairo works great now.

Thanks a lot!
Jan

p? 18. 3. 2022 v 0:18 odes?latel Simon Urbanek <simon.urbanek at r-project.org>
napsal:

  
  
#
Great, thanks! I have updated the CRAN release of arm64 R 4.1.3 (signed and notarized). The new binary:

SHA1(R-4.1.3-arm64.pkg)= 4e702650f8967bc388ae31d897a4ae888dd6e89b
MD5(R-4.1.3-arm64.pkg)= e54a8e4ee3d4fb50551ac3c053ae2118

and you can also easily check which build you have by the signature date:

$ pkgutil --check-signature R-4.1.3-arm64.pkg | grep times
   Signed with a trusted timestamp on: 2022-03-18 04:16:45 +0000

Cheers,
Simon