Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[R] incompatibility with M2 and M3 processors in macOS #40991

Closed
rafapereirabr opened this issue Apr 4, 2024 · 6 comments
Closed

[R] incompatibility with M2 and M3 processors in macOS #40991

rafapereirabr opened this issue Apr 4, 2024 · 6 comments
Assignees
Milestone

Comments

@rafapereirabr
Copy link

rafapereirabr commented Apr 4, 2024

Describe the bug, including details regarding any error messages, version, and platform.

It seems there is some incompatibility between the current version of the {arrow} package in R and the M2 and M3 processors in macOS. Two colleagues who have laptops with those processors have found the following ERROR when trying to run the code below:

data("mtcars")
head(mtcars)

arrow::write_parquet(mtcars, 'mtcars.parquet')

df <- arrow::read_parquet('mtcars.parquet', as_data_frame = F)
head(df)

Error in parquet__WriterProperties_Builder_create() :
Cannot call parquet__WriterProperties_Builder_create(). See https://arrow.apache.org/docs/r/articles/install.html for help installing Arrow C++ libraries

observation 1. This error does not occur in macOS or pcs with Intel processors.
observation 2. I develop the {censobr} package, which imports {arrow}, and I also noticed that the package passes all CMD Checks in all operational systems, except in macOS. See the latest cmd chek here.

Component(s)

R

@rafapereirabr rafapereirabr changed the title [R] [R] incompatibility with M2 and M3 processors in macOS Apr 4, 2024
@amoeba
Copy link
Member

amoeba commented Apr 4, 2024

Hi @rafapereirabr, thanks for the report.

The latest version of the arrow R package (15.0.1) has an issue just on macOS (at least Arm, not sure about Intel but maybe not) where it's missing most of its features, including Parquet. See #40667. arrow_info() can be run to show the set of features enabled in any version of the package and I expect on any of the systems where you can't run that snippet, you'll see "parquet FALSE" under the Capabilities section in the output.

I think your options right now are:

  • Wait for 16.0.0, no clear timeline yet, sorry
  • Install arrow from source where needed (e.g., add 'Remotes' to your DESCRIPTION file with apache/arrow/r@apache-arrow-15.0.2, or use install.packages("arrow", type = "source")
  • Install arrow from https://apache.r-universe.dev/arrow. Those binaries all have the regular set of features enabled.

Would any of those options work for you here?

@pachecotaina
Copy link

I was one of the colleagues experimenting trouble with M3.

thank you so much @amoeba, the new version from r-universe installs fine for me!!

@emprestige
Copy link

I was having a similar issue and could not resolve it until coming across this thread and installing from r-universe! Thank you so much!!

@amoeba
Copy link
Member

amoeba commented Apr 4, 2024

I'm going to leave this open for visibility until #40667 (and the underlying issue) is resolved. Thanks for confirming the workarounds all.

@rafapereirabr
Copy link
Author

Great. Thanks for all the work on {arrow} and for the quick support here!

jonkeane added a commit that referenced this issue Apr 5, 2024
### Rationale for this change

If someone loads a version of Arrow on macOS with features disabled, warn them on startup that they can use `install_arrow()`. By default, prefer R-Universe in `install_arrow()` 

### What changes are included in this PR?

^^^

### Are these changes tested?

Yes

### Are there any user-facing changes?

Yes

**This PR contains a "Critical Fix".**
* GitHub Issue: #40991

Lead-authored-by: Jonathan Keane <jkeane@gmail.com>
Co-authored-by: Neal Richardson <neal.p.richardson@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
@jonkeane
Copy link
Member

jonkeane commented Apr 5, 2024

Issue resolved by pull request 41019
#41019

@jonkeane jonkeane added this to the 16.0.0 milestone Apr 5, 2024
@jonkeane jonkeane closed this as completed Apr 5, 2024
tolleybot pushed a commit to tmct/arrow that referenced this issue May 2, 2024
…41019)

### Rationale for this change

If someone loads a version of Arrow on macOS with features disabled, warn them on startup that they can use `install_arrow()`. By default, prefer R-Universe in `install_arrow()` 

### What changes are included in this PR?

^^^

### Are these changes tested?

Yes

### Are there any user-facing changes?

Yes

**This PR contains a "Critical Fix".**
* GitHub Issue: apache#40991

Lead-authored-by: Jonathan Keane <jkeane@gmail.com>
Co-authored-by: Neal Richardson <neal.p.richardson@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
vibhatha pushed a commit to vibhatha/arrow that referenced this issue May 25, 2024
…41019)

### Rationale for this change

If someone loads a version of Arrow on macOS with features disabled, warn them on startup that they can use `install_arrow()`. By default, prefer R-Universe in `install_arrow()` 

### What changes are included in this PR?

^^^

### Are these changes tested?

Yes

### Are there any user-facing changes?

Yes

**This PR contains a "Critical Fix".**
* GitHub Issue: apache#40991

Lead-authored-by: Jonathan Keane <jkeane@gmail.com>
Co-authored-by: Neal Richardson <neal.p.richardson@gmail.com>
Signed-off-by: Jonathan Keane <jkeane@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants