extendr / rextendr

An R package that helps scaffolding extendr-enabled packages or compiling Rust code dynamically
https://extendr.github.io/rextendr/
Other
180 stars 27 forks source link

Templates does not support Linux arm64 etc. #241

Open eitsupi opened 1 year ago

eitsupi commented 1 year ago

Reported in eitsupi/prqlr#88 by @andresrcs

It seems that packages based on rextendr templates such as extendr/helloextendr cannot be installed on Linux arm64 platform. I wonder if rextendr need to generate Cargo.toml that would enable libR-sys's use-bindgen feature except on certain platforms? https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies

yutannihilation commented 1 year ago

Another option is to fix this on libR-sys's side. The CI should be able to generate the bindings for aarch64-unknown-linux-gnu by cross-compiling.

eitsupi commented 1 year ago

Another option is to fix this on libR-sys's side. The CI should be able to generate the bindings for aarch64-unknown-linux-gnu by cross-compiling.

Thanks for the reply. This is definitely an attractive option and I hope this will happen at least on linux/arm64.

However, I still think the template needs to be improved, since it will not be possible to install any packages generated from rextendr on other platforms.

eitsupi commented 1 year ago

I have tried working as advised by @yutannihilation, but it doesn't seem to work and it works. It would be helpful if you could take a look at extendr/libR-sys#133 and try extendr/helloextendr#17.

CGMossa commented 1 year ago

Oh sorry I didn't approve the run on CI. Ping me if something simple has to happen, but it hasn't been done.

On Wed, Feb 22, 2023 at 4:59 PM eitsupi @.***> wrote:

I have tried working as advised by @yutannihilation https://github.com/yutannihilation, but it doesn't seem to work. It would be helpful if you could take a look at extendr/libR-sys#133 https://github.com/extendr/libR-sys/pull/133.

— Reply to this email directly, view it on GitHub https://github.com/extendr/rextendr/issues/241#issuecomment-1440307223, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIDVSBLKSQASKMJ7IYK7R3WYYZWNANCNFSM6AAAAAAVC4MCSM . You are receiving this because you are subscribed to this thread.Message ID: @.***>

eitsupi commented 1 year ago

@CGMossa Thank you for looking at this. I created extendr/helloextendr#17 simply to see if extendr/libR-sys#133 would work on a linux/arm64 machine (via remotes::install_github("extendr/helloextendr#17")), so CI does not need to be running.

CGMossa commented 1 year ago

Good. I thought you wanted to use the PR and CI as a means to test the target. Good work either way.

On Fri, Feb 24, 2023 at 3:21 PM eitsupi @.***> wrote:

@CGMossa https://github.com/CGMossa Thank you for looking at this. I created extendr/helloextendr#17 https://github.com/extendr/helloextendr/pull/17 simply to see if extendr/libR-sys#133 https://github.com/extendr/libR-sys/pull/133 would work on a linux/arm64 machine (via remotes::install_github("extendr/helloextendr#17")), so CI does not need to be running.

— Reply to this email directly, view it on GitHub https://github.com/extendr/rextendr/issues/241#issuecomment-1443748484, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIDVSCNNKDIKOHU5M5SZV3WZC7UXANCNFSM6AAAAAAVC4MCSM . You are receiving this because you were mentioned.Message ID: @.***>

JosiahParry commented 1 year ago

Is this fixed? I work exclusively on arm64 and have never ran into an issue.

Ilia-Kosenkov commented 1 year ago

No, not yet. At least we made no attempts to fix that. I am unsure if there is an issue still.

eitsupi commented 1 year ago

Is this fixed? I work exclusively on arm64 and have never ran into an issue.

See extendr/libR-sys#133. Linux arm64 is now supported since bindings were added to libR-sys, but continues to be not supported on all platforms except Windows x86, Windows amd64, macOS amd64, macOS arm64, Linux amd64, and Linux arm64.