-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Build system fails when wrappers for bootstrap binaries are used #90562
Comments
Does running |
Yes, it does, at least the error is not shown.
|
Can you dump the path before running rustc? It's possible that if you remove --frozen you'll see the same error from rustc - I think that we resolve the workspace before rustc invocations. |
Sure, if you tell me how. ;-)
No, works as expected.
|
Ultimately, I don't have an exact sequence of steps to offer -- it seems likely that there is some difference in the environment between the direct invocation and the one down within bootstrap. But what that difference is requires some level of debugging -- it could be PATH differences (but seems somewhat unlikely), it may be that the wrapper(s) fail when some of the env variables bootstrap sets are set (e.g., RUSTC).
|
It is from our wrapper:
I believe, it’s some kind protection against calling the wrapper infinitely often, but I am going to ask my colleague. |
My suspicion is that the execution of rustc without an absolute path in the last line of the wrapper is problematic; it may be useful to get a trace of what commands are run, but generally executing a bare rustc from the environment seems error-prone (it is easy for that to use the wrong rustc). |
No, that is not it, as the wrapper correctly sets the paths. The wrapper does not allow to be called recursively, and that is the check I referenced. We think about introducing a counter to allow it to be called recursively a limited amount of time. |
I don't think we'd expect it to be called recursively though? At least, I don't see a reason off hand bootstrap would do that. |
|
Oh. I didn't realize they all used the same wrapper/recursive detection. I don't really understand why that ever worked though (bootstrap does nothing special; Cargo always calls rustc...). |
In the past we didn’t manually specify the paths to |
Thank you for your help! |
When building Rust 1.56.1, specifying our own bootstrap binaries, which are wrappers, in the configuration
they are not detected:
But the wrappers work:
The text was updated successfully, but these errors were encountered: