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

Remove Dioxus CLI NASM dependency #2666

Closed
2 tasks
opensource-inemar-net opened this issue Jul 22, 2024 · 1 comment · Fixed by #2682
Closed
2 tasks

Remove Dioxus CLI NASM dependency #2666

opensource-inemar-net opened this issue Jul 22, 2024 · 1 comment · Fixed by #2682
Labels
cli Related to the dioxus-cli program dependencies Pull requests that update a dependency file

Comments

@opensource-inemar-net
Copy link
Contributor

Problem

The installation of the dioxus-cli using:
cargo install --git https://github.com/DioxusLabs/dioxus dioxus-cli

on a windows computer fails due to a compilation problem.

error: failed to run custom build command for aws-lc-sys v0.20.0

Caused by:
process didn't exit successfully: C:\Users\yyyyyyy\AppData\Local\Temp\cargo-install370lfC\release\build\aws-lc-sys-a9bd54e5d3d757e6\build-script-main (exit code: 101)
--- stdout
cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREFIX
cargo:rerun-if-env-changed=AWS_LC_SYS_INTERNAL_BINDGEN
cargo:rerun-if-env-changed=AWS_LC_SYS_EXTERNAL_BINDGEN
cargo:rerun-if-env-changed=AWS_LC_SYS_NO_ASM
cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_BUILDER
cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC

--- stderr
AWS_LC_SYS_NO_ASM=1
AWS_LC_SYS_CMAKE_BUILDER=1
Missing dependency: cmake
thread 'main' panicked at C:\Users\yyyyyy.cargo\registry\src\index.crates.io-6f17d22bba15001f\aws-lc-sys-0.20.0\builder/main.rs:289:38:
called Result::unwrap() on an Err value: "Required build dependency is missing. Halting build."
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to compile dioxus-cli v0.5.2 (https://github.com/DioxusLabs/dioxus#ba64ee04), intermediate artifacts can be found at C:\Users\yyyyyy\AppData\Local\Temp\cargo-install370lfC.
To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path.

Steps To Reproduce

Steps to reproduce the behavior:

Expected behavior

The issue is caused by rustls switching to AWS-LC-SYS as a default. This tls implementation at the moment needs to additional programs installed on windows to compile. It is not battery included.

Major upstream projects like ureq already switched back using rustls without using AWS-LC-SYS
algesten/ureq#765

rustls project is discussing this.
rustls/rustls#1913

Until a solution is found I think the best way is to fall back on ring implementation in rustls.

Screenshots

Environment:

  • Dioxus version: main
  • Rust version: 1.79.0
  • OS info: windows
  • App platform: web

Questionnaire

  • I'm interested in fixing this myself but don't know where to start
  • [ X] I would like to fix and I have a solution
  • I don't have time to fix this right now, but maybe later
@opensource-inemar-net
Copy link
Contributor Author

Issue on AWS-LC-SYS about the issue

aws/aws-lc#1477

@ealmloff ealmloff added cli Related to the dioxus-cli program dependencies Pull requests that update a dependency file labels Jul 22, 2024
@ealmloff ealmloff changed the title Dioxus-Cli install of latest development fails on windows machines Remove Dioxus CLI NASM dependency Jul 22, 2024
jkelleyrtp added a commit that referenced this issue Jul 23, 2024
* Moves index.html creation until after wasm creation so the webserver doesn't prematurely serve the page
* sets up nasm for windows builds (to be superseded by Remove Dioxus CLI NASM dependency #2666 #2682)
* puts magnanis-cli-support in a blocking task to prevent threadlocking during sequential builds
* changes order of client/server builds such that the client is built before the server so the webserver doesn't prematurely serve invalid client code
* declobbers "serve" such that each project gets a different dir in the target folder
* uses nest_service instead of fallback so the router doesn't respond with fallback codes
* reincorporates doge's fix from Fix hot-reloading on Windows #2544
jkelleyrtp added a commit that referenced this issue Jul 23, 2024
* fix issue with AWS-LC-SYS

* after mergo of manganis revert back to original

---------

Co-authored-by: Oliver Schnabl <oliver.schnabl@drei.com>
Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cli Related to the dioxus-cli program dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants