Charon sesión 2 continuation 2026-05-24 — empirical test Slice 2c attempt #5: re-enable substrate-wasm-builder + set WASM_BUILD_STD=0 explicit override. Findings canonical: - ✅ alloc/exchange_malloc issue (Slice 2b attempts 1-4 blocker) RESUELTO canonical - 🎯 NEW canonical layer: panic_impl duplicate via serde/std leakage transitive - Error canonical: sp-io 40.0.1 panic_impl vs libstd-loaded panic_impl - Diagnosis: serde pulled con std feature transitively → libstd linked en wasm32 Status canonical: - Reverted canonical to safe state (no-op build.rs + substrate-wasm-builder dep commented). Slice 3 v0.0.13 mock-WASM fallback canonical sigue siendo path canonical estable canonical. - Slice 2d canonical future requires deeper investigation canonical (inverted feature tree + serde patch o WASM_BUILD_RUSTFLAGS override o stable2512-4+ fix). Documentation canonical filed: - build.rs canonical: 5 attempts registered + Slice 2d path forward canonical - Cargo.toml [build-deps]: comments canonical updated canonical - CHANGELOG canonical: Unreleased section canonical Slice 2c attempt #5 entry Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
48 lines
2.3 KiB
Rust
48 lines
2.3 KiB
Rust
//! # Build script — Slice 2c canonical multi-attempt findings registered
|
|
//!
|
|
//! Slice 2b investigation registered (sesión 1, 2026-05-21) — 4 fix attempts
|
|
//! NO solved canonical:
|
|
//! 1. Remove direct serde dep (transitive from FRAME) — NO solved
|
|
//! 2. Pin serde =1.0.219 + =1.0.217 — NO solved
|
|
//! 3. Remove profile.release lto/codegen-units customization — NO solved
|
|
//! 4. WasmBuilder::build_using_defaults() upstream pattern — NO solved
|
|
//!
|
|
//! Slice 2c attempt #5 (Charon sesión 2 cont. 2026-05-24) — empirical test
|
|
//! WASM_BUILD_STD=0 explicit override canonical. Upstream docs confirman:
|
|
//! "WASM_BUILD_STD is disabled by default for WASM target and Rust >= 1.84".
|
|
//!
|
|
//! ## Attempt #5 finding canonical (BIG progress)
|
|
//!
|
|
//! `WASM_BUILD_STD=0` explicit + WasmBuilder re-enabled → **alloc/exchange_malloc
|
|
//! issue RESUELTO canonical**. Pero canonical surface NEW error canonical:
|
|
//!
|
|
//! ```
|
|
//! error[E0152]: found duplicate lang item `panic_impl`
|
|
//! --> sp-io-40.0.1/src/lib.rs:1774:1
|
|
//! = note: the lang item is first defined in crate `std` (which `serde` depends on)
|
|
//! = note: first definition in `std` loaded from libstd-*.rlib
|
|
//! = note: second definition in the local crate (`sp_io`)
|
|
//! ```
|
|
//!
|
|
//! Diagnosis canonical: serde está siendo pulled con `std` feature canonical
|
|
//! transitively desde algún dep canonical (parity-scale-codec o frame-*) →
|
|
//! libstd canonical linked en wasm32 → conflict canonical con sp_io::panic
|
|
//! handler canonical (que define panic_impl para no_std runtime).
|
|
//!
|
|
//! ## Path canonical resolución pending (Slice 2d canonical future)
|
|
//!
|
|
//! Requires deeper investigation canonical:
|
|
//! - Inverted feature tree exact culprit identification canonical
|
|
//! - Override canonical: `[patch.crates-io] serde = { ... }` con strict no-std
|
|
//! - O explicit `WASM_BUILD_RUSTFLAGS` canonical override
|
|
//! - O wait stable2512-4+ upstream canonical fix
|
|
//!
|
|
//! Mientras Slice 2d land canonical, build script canonical mantain no-op +
|
|
//! Slice 3 (v0.0.13) mock-WASM fallback canonical path estable canonical.
|
|
|
|
fn main() {
|
|
// No-op canonical — Slice 2d canonical land WASM_BINARY post serde/std
|
|
// leakage canonical resolution canonical. Slice 3 mock-WASM (chain_spec
|
|
// builder JSON canonical) sigue siendo el path canonical estable canonical.
|
|
}
|