Git Product home page Git Product logo

Comments (20)

eitsupi avatar eitsupi commented on May 28, 2024 1

I created a PR to add libR-sys bindings for linux/arm64 (extendr/libR-sys#133)

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024 1

#90 should allow installation on arm64 Linux.

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024 1

I tested it on RPi OS, and it is working great!
Do you have an estimate for a CRAN release? I would like to have this added to the R4Pi project to have a binary for RPi OS

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024 1

FYI, a binary for aarch64 is available now in the R4Pi package repository.

It took a little while because we had to figure out some infrastructure management issues to make sure Rust can be installed consistently in the builder server without manual intervention.

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024 1

@andresrcs FYI, prqlr can be source install without Rust now.
If you don't mind using pre-built binaries, you should be able to get a fast install on the Raspberry Pi by trying something like the following, as described in the README.

Sys.setenv(NOT_CRAN = "true")
install.packages("prqlr")

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024 1

Thanks for the heads up. I do not compile prqlr on the Pi any more since I use the R4Pi project for binaries but I'll let them know Rust is no longer mandatory for the building tool chain

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

Thank your for letting me know about that!

I believe this is actually an extendr issue, since this package does not use libR-sys directly.
What happens if you install another package that uses extendr, like https://github.com/extendr/helloextendr? (sorry, I can't try this right now)

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024

What happens if you install another package that uses extendr, like https://github.com/extendr/helloextendr? (sorry, I can't try this right now)

Sadly, I get the same error message. My hope was that compilation options for cargo were set by you and you could simply add --features use-bindgen to the Makevars file.

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

Those files come from rextendr.
Could you please create an issue on rextendr or libR-sys?

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024

The problem is both rextender and libR-sys (even with --features use-bindgen) compile just fine on arm64 so I don't know on what basis I can open an issue there since I'm not familiar with the Rust language.

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024

The new libR-sys 0.4.0 release, which includes the aarch64 bindings, is available now but when installing prqlr it keeps downloading version 0.3.0. I guess this comes from rextendr?

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

The version of extendr is fixed here. This needs to be updated.

https://github.com/eitsupi/prqlr/blob/0d315ec23e5545e8989532c598c02110e1451a57/src/rust/Cargo.toml#L13

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

It appears that extendr 0.4.0 has not yet been released to crates.io.
https://crates.io/crates/extendr-api

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

Do you have an estimate for a CRAN release? I would like to have this added to the R4Pi project to have a binary for RPi OS

Wow, that's fantastic!
This is a serious bug fix and I will try to submit it to CRAN in the next few days.

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

prqlr 0.2.1 is now on CRAN.

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024

Now compilation fails on RPi OS because of the cargo version

cargo build --lib --release --manifest-path=./rust/Cargo.toml --target-dir ./rust/target error: failed to parse manifest at `/tmp/RtmpO4x1Jc/R.INSTALL1806e2c2bf6d7/prqlr/src/rust/Cargo.toml` Caused by: failed to parse the `edition` key Caused by: this version of Cargo is older than the `2021` edition, and only supports `2015` and `2018` editions. make: *** [Makevars:16: rust/target/release/libprqlr.a] Error 101 ERROR: compilation failed for package ‘prqlr’

It would be possible for you to lower the version requirement?

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

Now compilation fails on RPi OS because of the cargo version

cargo build --lib --release --manifest-path=./rust/Cargo.toml --target-dir ./rust/target error: failed to parse manifest at `/tmp/RtmpO4x1Jc/R.INSTALL1806e2c2bf6d7/prqlr/src/rust/Cargo.toml` Caused by: failed to parse the `edition` key Caused by: this version of Cargo is older than the `2021` edition, and only supports `2015` and `2018` editions. make: *** [Makevars:16: rust/target/release/libprqlr.a] Error 101 ERROR: compilation failed for package ‘prqlr’

It would be possible for you to lower the version requirement?

The version of Rust is too old (older than 1.56 !?).
It is not possible to support that version because many dependent packages do not support it.

The Rust version of Debian stable is too old, so if you install it with apt, you will need to install from testing at least.

from prqlc-r.

andresrcs avatar andresrcs commented on May 28, 2024

I see, I'll try to convince Mark (from R4Pi) to install Rust with rustup.

rustup installs per user and when I used prqlr on RStudio with my personal user rather than Pi, it worked normally. As far as I can tell, once the package is installed an up to date Rust version is no longer required right?

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

I see, I'll try to convince Mark (from R4Pi) to install Rust with rustup.

Thank you for doing this. The Rust version of Debian stable is really too old... (See #49)
Ubuntu is currently 1.61, which is much newer than Debian stable, but still quite old and prql-compiler cannot be installed.

I am currently continuing to patch prql-compiler with every release of prqlr to make it buildable on older Rust versions.......

rustup installs per user and when I used prqlr on RStudio with my personal user rather than Pi, it worked normally. As far as I can tell, once the package is installed an up to date Rust version is no longer required right?

Yes, it is required at source code build time.

from prqlc-r.

eitsupi avatar eitsupi commented on May 28, 2024

@andresrcs Awesome! Thank you for working on that!

from prqlc-r.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.