solana
solana copied to clipboard
Wasm32 build fails for RPC-client due to recursive SDK dependency
Related with Support Wasm32 build for RPC-client issue: #28697
solana-rpc-client
has dependency solana-sdk
of the 1.15.0 version and solana-rpc-client-api
and solana-account-decoder
, each of which depends on spl-token-2022
, which in turn depends on solana-sdk
of the 1.14.8 version. Similary for solana-program
.
This causes duplicate symbols when building a test using the solana-rpc-client
for wasm32-unknown-unknown
target:
error: linking with `rust-lld` failed: exit status: 1
|
= note: "rust-lld" "-flavor" "wasm" "--rsp-quoting=posix" "--export" "__wbgt_test_create_rpc_client_0" "--export" "main" "--export" "__wbindgen_describe___wbg_fetch_386f87a3ebf5003c" "--export"
"__externref_drop_slice" "--export" "__externref_heap_live_count" "--export" "__externref_table_alloc" "--export" "__externref_table_dealloc" "--export" "__wbindgen_exn_store" "--export" "__wbindgen_free" ...
...
= note: rust-lld: error: duplicate symbol: __wbg_keypair_free
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_sdk-f9491e3056c670c4.rlib(solana_sdk-f9491e3056c670c4.solana_sdk.19739f4f-cgu.8.rcgu.o)
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_sdk.rlib(solana_sdk.44stw7voh99xd55d.rcgu.o)
rust-lld: error: duplicate symbol: __wbg_transaction_free
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_sdk-f9491e3056c670c4.rlib(solana_sdk-f9491e3056c670c4.solana_sdk.19739f4f-cgu.3.rcgu.o)
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_sdk.rlib(solana_sdk.s691cxtruslzvs0.rcgu.o)
rust-lld: error: duplicate symbol: __wbg_message_free
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_program-895c1752bc88a2c4.rlib(solana_program-895c1752bc88a2c4.solana_program.2a5856f4-cgu.3.rcgu.o)
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_program.rlib(solana_program.1dd9wa2j7ve0t038.rcgu.o)
rust-lld: error: duplicate symbol: __wbg_get_message_recent_blockhash
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_program-895c1752bc88a2c4.rlib(solana_program-895c1752bc88a2c4.solana_program.2a5856f4-cgu.3.rcgu.o)
>>> defined in /home/xx/data/work/P2PV/solana/solana/target/wasm32-unknown-unknown/debug/deps/libsolana_program.rlib(solana_program.1dd9wa2j7ve0t038.rcgu.o)
...