CosmWasm / cosmwasm

Framework for building smart contracts in Wasm for the Cosmos SDK
https://www.cosmwasm.com/
Apache License 2.0
1.07k stars 333 forks source link

Featureless entry point doesn't work #2284

Open larry0x opened 4 days ago

larry0x commented 4 days ago

The featureless entry point introduced in #2246 doesn't work for this case:

Suppose two contracts, "inner" and "outer", of which outer depends on inner.

When you run the optimizer, inner gets compiled first as primary package, where wasm exports are created.

Then, outer is compiled as primary package. Here, the intended way it would work is inner is compiled as a non-primary package, where wasm exports are NOT created.

However, since inner is already compiled as primary, cargo won't compiled it again. Cargo simply uses the primary build, which contains wasm exports. Thus, we get duplicate export error.

Minimal reproduction of error: https://github.com/larry0x/cosmwasm-featureless-entry-point-error

chipshort commented 3 days ago

Hey Larry, thanks for finding this! That's a bummer. Do you have any idea if cargo can somehow be made to rebuild in that case? Only way I can think of is using build.rs, but that would have to be in the contract, not in cosmwasm-std, so that's not a great solution.

webmaster128 commented 2 days ago

Nice find, thank you!

Do I understand correctly this is caused by this logic implemented in the optimizer:

for each folder in contracts/*:
    (cd folder && build wasm)

One solution might be to clear some parts in the /target folder as part of the build script.

aumetra commented 2 days ago

Yeah this very much feels like an issue with an interaction between the optimizer image and the featureless endpoints.

I think we can just add a cargo clean -p [pkgid] call to the end of the build function, which cleans out all left-over artifacts of the previous contract.


It's not an overly clean solution but fixes the interaction with the optimizer image. Will people run into this in the wild without the optimizer? Potentially?

I just tried it out on my machine with two workspaces (the one from the repr and one I made myself), and I just couldn't get the linker to error out for some reason.

cargo build --target=wasm32-unknown-unknown --lib -p inner
cargo build --target=wasm32-unknown-unknown --lib -p outer

And it just worked. So I guess it makes sense how this was overlooked if it doesn't produce errors on dev machines.

So I'd even go so far as to say this is a very optimizer-specific issue.

larry0x commented 2 days ago

I just couldn't get the linker to error out for some reason.

cargo build --target=wasm32-unknown-unknown --lib -p inner
cargo build --target=wasm32-unknown-unknown --lib -p outer

And it just worked.

You can reproduce the error if you leave out the --lib flag:

# restart fresh
cargo clean
cargo build --target=wasm32-unknown-unknown -p inner
cargo build --target=wasm32-unknown-unknown -p outer

I'm not sure what the flag does in this case...

This is strange, because as I understand, the way bob_the_builder works is it loops through the contracts in the workspace and runs exactly this build command? And it looks like bob does include --lib.

aumetra commented 2 days ago

🤷‍♀️

aumetra@DESKTOP-VSD7GDL:~/work/cosmwasm-featureless-entry-point-error$ cargo clean
cargo build --target=wasm32-unknown-unknown -p inner
cargo build --target=wasm32-unknown-unknown -p outer
     Removed 502 files, 317.9MiB total
[...]
   Compiling cosmwasm-std v2.2.0-rc.3 (https://github.com/CosmWasm/cosmwasm?tag=v2.2.0-rc.3#a6c6a3c3)
   Compiling inner v0.0.0 (/home/aumetra/work/cosmwasm-featureless-entry-point-error/contracts/inner)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.57s
   Compiling outer v0.0.0 (/home/aumetra/work/cosmwasm-featureless-entry-point-error/contracts/outer)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.09s
aumetra@DESKTOP-VSD7GDL:~/work/cosmwasm-featureless-entry-point-error$
larry0x commented 2 days ago

@aumetra Can you try adding --release? Here's mine:

❯ cargo clean                                                   
     Removed 428 files, 109.2MiB total

❯ cargo build --target=wasm32-unknown-unknown --release -p inner
   Compiling proc-macro2 v1.0.87
   Compiling unicode-ident v1.0.13
   Compiling typenum v1.17.0
   Compiling version_check v0.9.5
   Compiling serde v1.0.210
   Compiling autocfg v1.4.0
   Compiling paste v1.0.15
   Compiling serde_json v1.0.128
   Compiling byteorder v1.5.0
   Compiling itoa v1.0.11
   Compiling unicode-xid v0.2.6
   Compiling schemars v0.8.21
   Compiling thiserror v1.0.64
   Compiling ryu v1.0.18
   Compiling memchr v2.7.4
   Compiling cfg-if v1.0.0
   Compiling dyn-clone v1.0.17
   Compiling generic-array v0.14.7
   Compiling base64 v0.22.1
   Compiling num-traits v0.2.19
   Compiling bnum v0.11.0
   Compiling static_assertions v1.1.0
   Compiling hex v0.4.3
   Compiling cosmwasm-core v2.2.0-rc.3 (https://github.com/CosmWasm/cosmwasm?tag=v2.2.0-rc.3#a6c6a3c3)
   Compiling quote v1.0.37
   Compiling syn v2.0.79
   Compiling crypto-common v0.1.6
   Compiling block-buffer v0.10.4
   Compiling digest v0.10.7
   Compiling rmp v0.8.14
   Compiling sha2 v0.10.8
   Compiling serde_derive_internals v0.29.1
   Compiling serde_derive v1.0.210
   Compiling thiserror-impl v1.0.64
   Compiling schemars_derive v0.8.21
   Compiling derive_more-impl v1.0.0
   Compiling cosmwasm-derive v2.2.0-rc.3 (https://github.com/CosmWasm/cosmwasm?tag=v2.2.0-rc.3#a6c6a3c3)
   Compiling derive_more v1.0.0
   Compiling rmp-serde v1.3.0
   Compiling serde-json-wasm v1.0.1
   Compiling cosmwasm-std v2.2.0-rc.3 (https://github.com/CosmWasm/cosmwasm?tag=v2.2.0-rc.3#a6c6a3c3)
   Compiling inner v0.0.0 (/Users/larry/workspace/playground/nested-contracts/contracts/inner)
    Finished `release` profile [optimized] target(s) in 9.39s

❯ cargo build --target=wasm32-unknown-unknown --release -p outer
   Compiling outer v0.0.0 (/Users/larry/workspace/playground/nested-contracts/contracts/outer)
error: linking with `rust-lld` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/bin:/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/bin/self-contained:/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/bin:/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/bin/self-contained:/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/bin:/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-darwin/bin/self-contained:/Users/larry/.bun/bin:/Users/larry/.nvm/versions/node/v20.16.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/Users/larry/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Users/larry/.cargo/bin:/Users/larry/.foundry/bin:/Users/larry/.orbstack/bin:/opt/homebrew/opt/go/libexec/bin:/Users/larry/.go/bin:/Users/larry/Library/Application Support/ffmpeg-downloader/" VSLANG="1033" "rust-lld" "-flavor" "wasm" "--export" "instantiate" "--export" "allocate" "--export" "deallocate" "--export" "interface_version_8" "--export" "requires_iterator" "--export" "instantiate" "--export=__heap_base" "--export=__data_end" "-z" "stack-size=1048576" "--stack-first" "--allow-undefined" "--no-demangle" "--no-entry" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.0.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.1.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.2.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.3.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.4.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.5.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.6.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.7.rcgu.o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.dbsuu7pbuiqkcjsqhglwhiumn.rcgu.o" "-L" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps" "-L" "/Users/larry/workspace/playground/nested-contracts/target/release/deps" "-L" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libinner.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libcosmwasm_std-27916e04477a3e4d.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libserde_json_wasm-fdc88b83d1567333.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/librmp_serde-32b80f76b08bd5cd.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/librmp-3c96a4560459a970.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libnum_traits-4326d473b1624c3f.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libbyteorder-7bd2e131028cc9ec.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libhex-e06b883522aee5b6.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libstatic_assertions-bf5ff6c79a48bcd2.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libcosmwasm_core-ce7d05a427e46e92.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libderive_more-ad50e5083abe7d74.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libbnum-2d161226e41f9276.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libbase64-6e53995714113798.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libthiserror-296b39205a1ce630.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libschemars-a592ac3bdee73c2a.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libdyn_clone-51377a2599eee637.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libserde_json-95996f13933f2101.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libmemchr-b18d3b7d5537053d.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libitoa-112e845e29873d0a.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libryu-09661560edb3dacf.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libsha2-ebeae08334ae8b51.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libcfg_if-c53fc2c2626be18a.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libdigest-c027b60e5eba4f60.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libblock_buffer-6e7786a68dc4e0fe.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libcrypto_common-5e956965b8b09f66.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libgeneric_array-ed2f3c0bdc63d413.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libtypenum-821fa77bc2681151.rlib" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libserde-b2de464894b9129c.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libstd-99975caea88864e6.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libpanic_abort-498a39668dbd5999.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libdlmalloc-06833a665964c2ad.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/librustc_demangle-14f5153bc7846783.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libstd_detect-483a96bba1c1adca.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libhashbrown-fd15abc731e6a448.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/librustc_std_workspace_alloc-272308b551121e27.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libminiz_oxide-84ddb00df32865ef.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libadler-ca60f7b59cce88f2.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libunwind-9fc36fbb788a3204.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcfg_if-0cc9f8defc7489e7.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/liblibc-f1269238ee7a103c.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/liballoc-d927474a2e204cc7.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/librustc_std_workspace_core-349edd4e0ced40ec.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcore-9de92983ea27c59d.rlib" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib" "-L" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib" "-L" "/Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/self-contained" "-o" "/Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.wasm" "--gc-sections" "--no-entry" "-O3" "--strip-debug"
  = note: rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-absvdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-absvsi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-absvti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-addvdi3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-addvsi3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-addvti3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-clzdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-clzsi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-clzti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-cmpdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-cmpti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-ctzdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-ctzsi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-ctzti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-divdc3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-divsc3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-extendhfsf2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-ffsti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-int_util.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-muldc3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-mulsc3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-mulvdi3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-mulvsi3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-mulvti3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-negdf2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-negdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-negsf2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-negti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-negvdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-negvsi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-negvti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-paritydi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-paritysi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-parityti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-popcountdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-popcountsi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-popcountti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-subvdi3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-subvsi3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-subvti3.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-truncdfhf2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-truncsfhf2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-ucmpdi2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: warning: /Users/larry/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/wasm32-unknown-unknown/lib/libcompiler_builtins-38a740739ba8d8e2.rlib: archive member '45c91108d938afe8-ucmpti2.o' is neither Wasm object file nor LLVM bitcode
          rust-lld: error: duplicate symbol: instantiate
          >>> defined in /Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/outer.outer.81571067aeada22b-cgu.1.rcgu.o
          >>> defined in /Users/larry/workspace/playground/nested-contracts/target/wasm32-unknown-unknown/release/deps/libinner.rlib(inner.inner.f7915b8214c59810-cgu.6.rcgu.o)

error: could not compile `outer` (lib) due to 1 previous error
aumetra commented 2 days ago

Ah, yeah, with release it fails. Interesting.

aumetra commented 1 day ago

Forgot to assign this to myself. Working on it and trying to get it to work so we can keep going with v2.2.0