aptos-labs / aptos-labs/aptos-rust-sdk

Aptos sdk don't support wasm

Open
#69 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
13
Forks
10
Avg merge
20m
Merged PRs (30d)
1

Description

Aptos sdk don't support wasm yet?

When run on wasm (dioxus)

```
00:42:12 [cargo] error: failed to run custom build command for `aws-lc-sys v0.39.1`
00:42:12 [cargo] Caused by:
00:42:12 [cargo] process didn't exit successfully: `/home/amiya/Documents/app/target/wasm-dev/build/aws-lc-sys-33ac510a107fc67f/build-script-main` (exit status: 101)
00:42:12 [cargo] --- stdout
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREFIX_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREFIX
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_PREGENERATING_BINDINGS_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_PREGENERATING_BINDINGS
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_EXTERNAL_BINDGEN_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_EXTERNAL_BINDGEN
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_ASM_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_ASM
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_PREBUILT_NASM_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_PREBUILT_NASM
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_C_STD_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_C_STD
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_BUILDER_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_BUILDER
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREGENERATED_SRC_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_PREGENERATED_SRC
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_EFFECTIVE_TARGET_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_EFFECTIVE_TARGET
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_JITTER_ENTROPY_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_JITTER_ENTROPY
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_U1_BINDINGS_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_NO_U1_BINDINGS
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_INCLUDES_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_INCLUDES
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_STATIC
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE
00:42:12 [cargo] cargo:rerun-if-env-changed=CMAKE_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=CMAKE
00:42:12 [cargo] cargo:warning=Building with: CMake
00:42:12 [cargo] cargo:warning=Symbol Prefix: Some("aws_lc_0_39_1")
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=AWS_LC_SYS_CMAKE
00:42:12 [cargo] cargo:rerun-if-env-changed=CMAKE_wasm32_unknown_unknown
00:42:12 [cargo] cargo:rerun-if-env-changed=CMAKE
00:42:12 [cargo] cargo:warning=Environment Variable found 'CMAKE': 'cmake'
00:42:12 [cargo] cargo:warning=CMAKE environment variable set: cmake
00:42:12 [cargo] cargo:warning=Target platform: 'wasm32-unknown-unknown'
00:42:12 [cargo] cargo:warning=######
00:42:12 [cargo] cargo:warning=If bindgen is unable to locate a header file, use the BINDGEN_EXTRA_CLANG_ARGS environment variable to specify additional include paths.
00:42:12 [cargo] cargo:warning=See: https://github.com/rust-lang/rust-bindgen?tab=readme-ov-file#environment-variables
00:42:12 [cargo] cargo:warning=######
00:42:12 [cargo] cargo:warning=Generating bindings - external bindgen. Platform: wasm32-unknown-unknown
00:42:12 [cargo] --- stderr
00:42:12 [cargo] Failure invoking external bindgen!
00:42:12 [cargo] bindgen-PARAMS: --prefix-link-name aws_lc_0_39_1_ --allowlist-file .*(/|\\)openssl((/|\\)[^/\\]+)+\.h --allowlist-file .*(/|\\)rust_wrapper\.h --rustified-enum point_conversion_form_t --default-macro-constant-type signed --with-derive-default --with-derive-partialeq --with-derive-eq --raw-line
00:42:12 [cargo] // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
00:42:12 [cargo] // SPDX-License-Identifier: Apache-2.0 OR ISC
00:42:12 [cargo] --generate functions,types,vars,methods,constructors,destructors /home/amiya/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.39.1/include/rust_wrapper.h --rust-target 1.70 --output /home/amiya/Documents/app/target/wasm32-unknown-unknown/wasm-dev/build/aws-lc-sys-2930b3fa7402d605/out/bindings.rs --formatter rustfmt -- -I /home/amiya/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.39.1/include -I /home/amiya/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.39.1/aws-lc/include
00:42:12 [cargo] bindgen-STDOUT:
00:42:12 [cargo] bindgen-STDERR: /home/amiya/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.39.1/aws-lc/include/openssl/base.h:15:10: fatal error: 'stdlib.h' file not found
00:42:12 [cargo] Unable to generate bindings: clang diagnosed error: /home/amiya/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.39.1/aws-lc/include/openssl/base.h:15:10: fatal error: 'stdlib.h' file not found
00:42:12 [cargo] thread 'main' (19471) panicked at /home/amiya/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.39.1/builder/main.rs:906:5:
00:42:12 [cargo] aws-lc-sys build failed. Please enable the 'bindgen' feature on aws-lc-rs or aws-lc-sys.For more information, see the aws-lc-rs User Guide: https://aws.github.io/aws-lc-rs/index.html
00:42:12 [cargo] note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
00:42:12 [cargo] warning: build failed, waiting for other jobs to finish...
00:42:13 [dev] Build failed: cargo build finished with errors for target: web [wasm32-unknown-unknown]

```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the cargo build for the wasm32-unknown-unknown target and inspect the aws-lc-sys build failure shown in the report, especially the missing stdlib.h during bindgen. Done means the Aptos Rust SDK builds successfully for wasm in the reported Dioxus setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
api, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.