-
Notifications
You must be signed in to change notification settings - Fork 410
Cross with managed volumes #131
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
Conversation
NOTE: |
NOTE: Only one copy of the registry. |
☔ The latest upstream changes (presumably #138) made this pull request unmergeable. Please resolve the merge conflicts. |
☔ The latest upstream changes (presumably #157) made this pull request unmergeable. Please resolve the merge conflicts. |
cc me |
So the first two commits work for me, I'm not sure about the rest, had some trouble but can retest. Why is Cross.toml required? |
@dvc94ch at least from a first skim, I need somewhere to specify what the toolchain to use is, similar to how you do this:
This allows you to set the version of rust used to build in this instance (since it is decoupled from your host environment), so you could select |
We probably could "steal" the cargo syntax, and take it on the command line instead of a config file, which might be better UX anyway. I don't think I knew about that syntax while I was writing this PR. |
Yes, but I prefer having a reasonable default, and add a Cross.toml if I want to change the default. I also like the cli method... |
Yeah, I would say CLI is preferred, or you can optionally make a cross.toml if you want it to be "persistent", or checked in. I would suggest stealing that code from Cargo. I probably won't have time to work on this until at least this weekend (working on |
@dvc94ch I added support for the I also would like to understand how to integrate a self-built |
I wrote on IRC, not sure if you got it. I'm reposting here in case you haven't seen it. I'm not sure what I need yet. I've been distracted lately with some sideprojects. I told japaric I'd PR Rust's llvm - which may solve the problem entirely and see how much resistance there is. getting the PR merged is worthwhile for cross regardless... :) |
Looks like we need an embedded rust http server for distributing target specific toolchains and then we can pass RUSTUP_DIST_ROOT to load the toolchain from there. |
@jamesmunns here's a custom rust release in case you are still playing around with this: |
@jamesmunns: cargo install --force
docker build -t volmgr ./volume_manager
cross +stable build I get this: Skipping Xargo install...
Targeting stable x86_64-unknown-linux-gnu
sh: 6: rustup: not found
sh: 9: rustup: not found
sh: 1: cargo: not found |
@jamesmunns any updates on this? |
@Dylan-DPC This was generally a PoC, though worked for at least basic use cases on Linux at least last time I tested it. If there is interest in it, I can try to freshen it up, it would be nice to have at least one person willing to test on Windows, I have a Mac and Linux PCs to test with (it needs to be an actual machine that can run a docker service, or a VM that supports virtualization from the guest, which doesn't include QEMU or VirtualBox, last I checked). |
@jamesmunns not sure. you will have to discuss this with the others whether it is a good idea to go forward with this or not. |
This would be great to have, I have both mac and windows machines here that I could help test on |
I found a fix for the - let base_mapping = format!("{}:/volwork", &base_path);
+ let base_mapping = format!("{}/:/volwork", &base_path); |
I just ran tests on my mac with this against |
What is the current status of this PR? |
any update, happy to help, but this would be really useful |
Closing this, as it is very stale, and unlikely to happen as-is. |
Hey @japaric, this is a not-yet-ready-to-merge branch, but I'd like to get your feedback on it. I'm happy to spend time cleaning this up, but I have the "big picture" functionality in place (or at least I think so).
Putting out some known negatives first:
interpreter.rs
.Some positives:
cross
itself to different targets with different toolchains, entirely dockerized, and includingcross run
)cross
, and be compiling/cross compiling with norust
environment installed at all. Still needs to be tested/verified.If you'd like to test this locally, there is one manual step required, you will have to build the volume manager image locally, with
docker build -t volmgr -f ./volume_manager/Dockerfile ./volume_manager
from the root of the repository. This step is only necessary once (or if you modify something in<crate root>/volume_manager
.