Skip to content
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

Provide a way to tweak libstd compilation dependency resolution #160

Closed
RalfJung opened this issue Aug 20, 2017 · 1 comment
Closed

Provide a way to tweak libstd compilation dependency resolution #160

RalfJung opened this issue Aug 20, 2017 · 1 comment

Comments

@RalfJung
Copy link
Collaborator

Right now, compiling libstd of the latest nightly with xargo is broken. I submitted rust-lang/rust#43975 to rust to fix this, but it would be nice to have a fix (if this comes up again) that doesn't take many days to land.

The problem is that libstd depends on gcc = "0.3.50". rust's Cargo.lock makes sure that version 0.3.50 is used. However, with xargo, the lock file isn't available and it will happily use newer versions from crates.io if they are semver-compatible. Currently, it picks 0.3.52. The problem is that this version adds deprecations, and part of libstd have deny(warnings), so using deprecated items makes the build fail.

If I had some more control over the Cargo.toml that xargo generates to build libstd, I would work around this by adding the following to that file:

[dependencies.gcc]
version = "=0.3.50"

I thought this should also be possible with the [patch] or [replace] features, but I could not get them to work here, so maybe I am mistaken.

Do you think it makes sense for xargo to support something like this?

@RalfJung
Copy link
Collaborator Author

Closing in favor of #162, which is the better way to fix this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant