-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
More context on a cranelift-codegen build script error #9625
Comments
This seems to be a duplicate of #9588. That directory should not ever be created inside the |
I'm using wasmtime, so building is done because/through that. I'm not using any special features, just the default configuration. I did some digging around the code, I think the bug is around L61 when calling If changed to the |
If you aren't doing development on Cranelift itself, |
So turns out until very recently Wasmer was enabling |
That's fairly obnoxious. Perhaps we should remove the feature altogether, unless folks are still using it -- I'll bring this up in the Cranelift meeting in a few minutes. |
Per bytecodealliance#9625 and bytecodealliance#9588, a downstream user of Cranelift was misusing the `isle-in-source-tree` feature, enabling it indiscriminately even in published crates (wasmerio/wasmer#5202). This went against the intent of the feature, to be a way for local developers to observe the generated source. As such, it ran afoul of some safety checks for that purpose, and also polluted users' Cargo caches in a way that we cannot now fix except in future releases. The best we can do is probably to take away features that are liable to be misused. Following discussion in today's Cranelift weekly meeting, we decided to provide this functionality under an environment variable instead. This allows folks who know what they're doing to get the same behavior, but does not expose a feature to crate users. Fixes bytecodealliance#9625.
Per #9625 and #9588, a downstream user of Cranelift was misusing the `isle-in-source-tree` feature, enabling it indiscriminately even in published crates (wasmerio/wasmer#5202). This went against the intent of the feature, to be a way for local developers to observe the generated source. As such, it ran afoul of some safety checks for that purpose, and also polluted users' Cargo caches in a way that we cannot now fix except in future releases. The best we can do is probably to take away features that are liable to be misused. Following discussion in today's Cranelift weekly meeting, we decided to provide this functionality under an environment variable instead. This allows folks who know what they're doing to get the same behavior, but does not expose a feature to crate users. Fixes #9625.
Currently if an explicit isle directory is found when the "isle-in-source-tree" feature is not enabled, the following error message is shown by the build script for cranelift-codegen:
as emitted by https://github.com/bytecodealliance/wasmtime/blob/main/cranelift/codegen/build.rs#L78C9-L87C10.
However this is misleading as deleting the
target/
directory (atleast on windows) does not fix the issue. The directory, for me, was located in%HOME%\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\cranelift-codegen-0.113.1\\isle_generated_code
. Could there possibly be a better check/error message and/or the actual directory located printed out to stderr?The text was updated successfully, but these errors were encountered: