-
Notifications
You must be signed in to change notification settings - Fork 415
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
[vaultwarden] Bitwarden guide would only work with dev/nightly builds of Rust #708
Comments
I'm a bit lost here. Can a rust user/dev chime in, please? Is the stable version enough for most use cases and bitwarden is just special? Or do we need to provide a nightly one too, because that's just how rust works? |
There seems to be some light at the end of the tunnel: SergioBenitez/Pear#23 (comment) |
Any update on this one? I don't fully understand the connections between the software here, but from what I could gather, Pear should compile on stable now? Which project do I have to poke to move the ball forward? 😁 |
Try to compile the newest bitwarden release and let us know what happens. If that doesn't work, poke bitwarden to get the newest pear into their deps, I guess :) |
Hey bitwarden_rs dev here! The reason behind the nightly requirement is due to the use of some unstable language features by Rocket and its dependencies. When I say "unstable features", these are simply new Rust features that are still subject to change, so they are only enabled on the nightly builds, because otherwise people might rely on their current API making it impossible for the Rust dev team to change them without breaking people's code. This is why you can currently compile Rocket 0.4 with a nightly build from a year ago, but not with the stable release from last month. Yes the stable release would be newer, but the unstable features that Rocket requires (and that weren't stabilized yet) would be disabled. Of these unstable features, the macro-related ones are the more painful ones, as they are essential for the functionality of Rocket, but they've been stuck on the stabilization track for a couple of years now. That said, the new Rust release 1.45.0 from last week has stabilized the last of those features and the master branch of Rocket now compiles on stable. I've made a separate branch of bitwarden_rs using Rocket master, and it compiles with stable Rust: https://github.com/dani-garcia/bitwarden_rs/tree/async Sadly the changes between Rocket 0.4 and the current master are too great to backport, but I think Rocket 0.5 is not that far into the future, and once it releases I'll update to it in the main branch. Hope that solved some of the doubts y'all had! |
Thanks a lot for your insights, @dani-garcia! |
Alright! I just tried compiling it on my Uberspace with the branch @dani-garcia published. Now the ball is in the court of the Ubernauten, I think: error: failed to run custom build command for `rocket v0.5.0-dev (https://github.com/SergioBenitez/Rocket?rev=adc79016cdfe732a6c095dd96aa5286a70c4d3be#adc79016)`
Caused by:
process didn't exit successfully: `/home/*************/services/bitwarden_rs/target/release/build/rocket-a426be6b7e7855e8/build-script-build` (exit code: 101)
--- stderr
Error: Rocket requires a more recent version of rustc.
Installed version: 1.43.1
Minimum required: 1.45.0
thread 'main' panicked at 'Aborting compilation due to incompatible compiler.', /home/*************/.cargo/git/checkouts/rocket-8bf16d9ca7e90bdc/adc7901/core/lib/build.rs:19:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace |
@felixfoertsch I just rolled out Rust release 1.45 on all hosts. |
I just compiled bitwarden_rs successfully. Build process took quite a while: Finished release [optimized] target(s) in 49m 29s I pushed a temporary note. #722 |
I'm hitting this. What is the command for building it with the nightly? |
Build fails with latest release
Edit1: submitted issue on dani-garcia/vaultwarden#1369 Edit2: Is this failure perhaps caused by the memory limit (https://manual.uberspace.de/basics-resources/#ram) - the previous version |
Ok, it seems, that version |
I currently have the same (or similar problem). I followed the steps, cloned the git repo into vault.DOMAIN.TLD, checked out --async and created a data directory. The next step, the build step fails:
|
Hey dev here, the newest async branch needs rust stable 1.56. If you can't update the compiler, the previous async code before the migration to the 2021 edition is available in the |
thanks for the heads-up! I put an update to .56 into the pipeline. Should be available in a few days :) |
rust 1.56.0 is now deployed everywhere. Does the guide need any further updates or does that solve the problem? |
just tried to rebuild and get following error: however rustc --version shows Anything still missing? |
Looks we need 1.57 or newer, running into the following error:
|
Although... I did have success following the steps here: Pre-built-binaries#extracting-binaries-without-docker-installed Everything seems to work, across web vault and mobile app. |
The bitwarden guide currently fails at this point:
There is an issue about that: Pear requires a nightly or dev version of Rust. The author of the package in question states:
Uberspace is providing a version of Rust that is even way more recent than the minimum required version, but it is a stable version, not a dev or nightly version, so the check of Pear fails.
I do not see any reason why Uberspace should provide a nightly build if a current stable build is available. So until this is fixed in the Pear module, I would suggest to - temporarily - drop the guide because I do not see how it could be made working.
The text was updated successfully, but these errors were encountered: