-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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] Package installation on aarch64 fails for v0.3.2 #3049
Comments
Do you have a ~/.R/Makevars file and if so, what's in it? |
I don't have a |
ℹ️ Latest |
That's very odd there were only minute changes.... |
This looks like it fails because of compilation flags added by R itself, did you build R from source? |
Yes. But there is the same problem for the binary installation of R: duckdb-0.3.2_aarch64_binary-R_install-log.txt |
What's the output of |
Images using R built from source: docker run --platform linux/arm64/v8 --rm -ti registry.gitlab.b-data.ch/r/r-ver:4.1.3 bash -c "R CMD config CXXPICFLAGS"
-fpic docker run --platform linux/amd64 --rm -ti registry.gitlab.b-data.ch/r/r-ver:4.1.3 bash -c "R CMD config CXXPICFLAGS"
-fpic Images using R binary installation: docker run --platform linux/arm64/v8 --rm -ti debian bash -c "apt update && apt install -y r-base-dev && R CMD config CXXPICFLAGS"
[...]
-fpic docker run --platform linux/amd64 --rm -ti debian bash -c "apt update && apt install -y r-base-dev && R CMD config CXXPICFLAGS"
[...]
-fpic All the same. |
Well yes, that's the problem then. As the compile log says, this flag should be |
I am fully aware what the compile log says. Other R packages build just fine - as duckdb did up to v0.3.1. You might want to talk to @eddelbuettel when it comes to changing the build flags for the Debian R package. |
The package builds fine on Debian |
And how is this relevant in the discussion? |
Thanks for tagging me in this thread -- won't claim I read every one of your many messages in detail. The use of [ I have been meaning to turn LTO on as well but am a little fearful that we then end up with lots of reports like this. So so far I just follow along to what R Core and Debian default. ] |
With the following set in
Thanks for all the feedback. |
Glad to hear, but that is not what I asked for. Can you please make a copy of edd@rob:~$ grep fpic /etc/R/Makeconf
CPICFLAGS = -fpic
CXXPICFLAGS = -fpic
CXX11PICFLAGS = -fpic
CXX14PICFLAGS = -fpic
CXX17PICFLAGS = -fpic
CXX20PICFLAGS = -fpic
FPICFLAGS = -fpic
edd@rob:~$ Can you also share if/when/how this is needed for other CRAN packages you build from source? If so we may indeed need to change the R package for Debian on aarch64 (and continue this as a Debian bug report). If however you only need this fpic -> fPIC fix for duckdb then the cause maybe somewhere in the (involved enough) build setup for duckdb. The link error did come from a vendored library. So it could be duckdb, or it could be Debian. |
Done. Works. See duckdb-0.3.2_aarch64_fPIC_install-log.txt.
None except I.e. the following 284 packages (including duckdb-0.3.1) build fine with |
Error when building v0.3.3 from source:
By the way, the same error when building v0.3.2 from source. @eddelbuettel I don't think the R package for Debian on aarch64 needs to be changed. The following 284 packages (including duckdb-0.3.1) build fine with FYI @eitsupi for future if [ "$(dpkg --print-architecture)" = "arm64" ]; then
cp -a /usr/local/lib/R/etc/Makeconf /usr/local/lib/R/etc/Makeconf.bak;
sed -i 's/fpic/fPIC/g' /usr/local/lib/R/etc/Makeconf;
install2.r --error --skipinstalled duckdb;
mv /usr/local/lib/R/etc/Makeconf.bak /usr/local/lib/R/etc/Makeconf;
else
install2.r --error --skipinstalled duckdb;
fi |
@benz0li Thank you for sharing your workaround. |
(Just for completeness, the Debian packages does nothing "opionionated" itself here. So if on a particular platform we feel a |
Cross reference: https://bugs.r-project.org/show_bug.cgi?id=18326 |
Simon Urbanek, 2022-04-27 09:59:44 UTC
|
Olivier Benz, 2022-05-02 09:08:27 UTC
|
Martin Maechler, 2022-08-05 20:08:58 UTC
|
Will be fixed with the next minor release of R ( Footnotes |
Inaction on bug reports can be hair-raisingly frustrating (not a complaint, everybody is busy... but our hands are tied) so good to see this unclogged by @mmaechler. As I recall, |
What happens?
R Package installation on
aarch64
fails for v3.0.2: duckdb-0.3.2_aarch64_install-log.txtTo Reproduce (on
aarch64
)install.packages("duckdb")
Environment (please complete the following information):
Before Submitting
master
branch?pip install duckdb --upgrade --pre
install.packages("https://github.com/duckdb/duckdb/releases/download/master-builds/duckdb_r_src.tar.gz", repos = NULL)
👉 R Package successfully installs on
aarch64
for branchmaster
: duckdb-master_aarch64_install-log.txtThe text was updated successfully, but these errors were encountered: