Uh oh!
There was an error while loading. Please reload this page.
Remove unsupported options in configure.py - #98369
Conversation
rust-highfive
commented
Jun 22, 2022
(rust-highfive has picked a reviewer for you, use r? to override) |
There was a problem hiding this comment.
this should theoretically be supported, but it doesn't work in practice - I had a conversation a long time ago with someone trying to fix it, but can't find it. Not sure how to replicate locally, I don't have easy access to a musl machine.
There was a problem hiding this comment.
oh I forgot I still have access to @oli-obk's machine - I'm not sure this is actually the right error though? if anyone knows how to test this happy to try it out
/home/joshua/rustc/build/x86_64-unknown-linux-musl/stage0/bin/cargo: error while loading shared libraries: /nix/store/9rabxvqbv0vgjmydiv59wkz768b5fmbc-glibc-2.30/lib/libc.so: invalid ELF header
I am tempted to remove support for them -- they could still be set via --set, right? It seems a little odd to have built-in support for options we don't really want to support in configure.py. (It's probably not a good idea to remove them from config.toml{,.example}, but I'm not sure showing them in help text makes sense.) |
jyn514
commented
Jun 23, 2022
ahh right I forgot --set is a thing. To some extent I wonder how useful it is to have separate help for configure? We have to keep it in sync with the config.toml options, which in practice means the help gets outdated quite quickly. I wonder if we should just tell people to read config.toml.example instead. |
Mark-Simulacrum
commented
Jun 26, 2022
I think the common interface for most folks not familiar with Rust (e.g., just building from source for distro/local usage) is through configure; it's never necessary but so long as we have it I think having help for the commonly used options makes sense. The help messages for configure options are pretty basic I think; if we wanted to add a line of "these all refer to config.toml.example options; please see that for details" I'd be fine with that. |
jyn514
commented
Jul 1, 2022
Hmm, I worry this will needlessly break people. I know at least one person (I think in debian?) running full-bootstrap on each release to make sure we don't regress reproducible builds. I agree we should remove |
Hmm. I see a lot of errors because |
This comment has been minimized.
This comment has been minimized.
Hm, actually, I'm not sure we should drop --build. It's sometimes useful for CI and other environments where you could build with multiple build triples, and there's no real way for us to know which one to prefer -- for example, MSVC or mingw on Windows, or 32-bit or 64-bit Linux. I don't think there's much value in us forcing that to be set through --set. Edit: I see the comments above about it being unsupported, but I think that isn't true? We use it on the i686-gnu CI builder (--build=i686-unknown-linux-gnu is passed to configure) and presumably that builder is running just fine... |
jyn514
commented
Jul 3, 2022
I think "unsupported" is not quite the right word - we don't support setting it to a setting other than the one x.py would autodetect. I haven't been able to replicate this unfortunately :( but I definitely remember running into weird build issues with this a while ago ... anyway, I'll add the flag back since I can't come up with anything more definite than my memory. |
Mark-Simulacrum
commented
Jul 7, 2022
@bors r+ rollup |
bors
commented
Jul 7, 2022
Remove unsupported options in configure.py I've seen people using `optimize = false` and `full-bootstrap = true` in the past, without knowing that they're not recommended. Remove `optimize` and a few other options that are always a bad idea, and document that full-bootstrap is only for testing reproducible builds.
matthiaskrgr
commented
Jul 7, 2022
@bors r- failed in a rollup: #99023 (comment) |
I've seen people using `optimize = false` and `full-bootstrap = true` in the past, without knowing that they're not recommended. Remove `optimize` and a few other options that are always a bad idea, and document that full-bootstrap is only for testing reproducible builds.
jyn514
commented
Jul 10, 2022
@bors r=Mark-Simulacrum rollup=maybe |
bors
commented
Jul 10, 2022
bors
commented
Jul 11, 2022
bors
commented
Jul 11, 2022
☀️ Test successful - checks-actions |
rust-timer
commented
Jul 11, 2022
Finished benchmarking commit (2682b88): comparison url. Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results
CyclesResults
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. @rustbot label: -perf-regression Footnotes |
I've seen people using
optimize = falseandfull-bootstrap = truein the past, without knowingthat they're not recommended. Remove
optimizeand a few other options that are always a bad idea,and document that full-bootstrap is only for testing reproducible builds.