-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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] Install fails with LTO flags #28586
Comments
Neal Richardson / @nealrichardson: Could you try with |
Karl Dunkle Werner / @karldw: With a bit more testing, I see that I'm able to install arrow in docker (using rocker v4.1.0), but still can't install on my computer. The generated
|
Neal Richardson / @nealrichardson: |
Karl Dunkle Werner / @karldw:
However, when I do that, the build still fails. I notice that there are still LTO-related flags being passed to
My understanding of the Makevars file is that my user file in |
Neal Richardson / @nealrichardson: Based on what you're saying, I wonder if LTO flags are coming from somewhere else in the R config, and since they're not being passed to the Arrow C++ build, we have a mismatch (also, I'm not sure we can just find them and pass them to the C++ build because I seem to recall from trying before that Arrow did not build with LTO enabled). |
Karl Dunkle Werner / @karldw: tools::Rcmd("config CXX11FLAGS")
#> -g -O2 -ffile-prefix-map=/build/r-base-aXXzqd/r-base-4.1.0=. -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g When I copy the Makeconf file from my host machine,
|
Neal Richardson / @nealrichardson: You could try setting the env var |
Karl Dunkle Werner / @karldw:
So it looks like the quoted string isn't getting parsed properly. (See If I instead do Is there a better way to pass multiple flags?
In ARROW-9616, you said "If CRAN decides that it LTO's everything, then we wouldn't be able to turn that off." The release notes for R 4.1.0 say "Packages can opt in or out of LTO compilation via a |
Neal Richardson / @nealrichardson: |
Karl Dunkle Werner / @karldw: |
Neal Richardson / @nealrichardson: |
Karl Dunkle Werner / @karldw: |
Neal Richardson / @nealrichardson: |
Karl Dunkle Werner / @karldw: When I edit my user However, I tried to add this flag to the build file and couldn't get them to work.
I also had a bit of a conversation about LTO flags over on R-SIG-Debian. The result there was to do one of the following:
|
Neal Richardson / @nealrichardson: |
Karl Dunkle Werner / @karldw: The last few lines of the R package compilation process are:
|
Neal Richardson / @nealrichardson: |
Karl Dunkle Werner / @karldw: So that the Other flags that are more appropriate, like
|
Neal Richardson / @nealrichardson: |
Karl Dunkle Werner / @karldw:
But an easier way might be to do one of the following: Do either of these seem reasonable? |
Karl Dunkle Werner / @karldw: |
Jonathan Keane / @jonkeane: |
Hi,
I noticed my installation failed after updating R to the newly released 4.1.0. Arrow compiles without error, but installation fails with a segfault when R tests whether the package can be loaded.
Here are the relevant environment variables I've set:
LIBARROW_MINIMAL:
false
LIBARROW_BINARY:
ubuntu-20.04
(also fails withfalse
)ARROW_R_DEV:
true
Let me know if there are other configurations you'd like me to test.
Related: ARROW-12824
The install log:
Environment: R 4.1.0
Reporter: Karl Dunkle Werner / @karldw
Assignee: Jonathan Keane / @jonkeane
Related issues:
Original Issue Attachments:
Externally tracked issue: #10611
Note: This issue was originally created as ARROW-12853. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: