Remove -Z link-native-libraries=no default#269
Conversation
We haven't wanted this for a long time
ryanking13
left a comment
There was a problem hiding this comment.
I enabled integration test.
Don't we need to update the default rust toolchain version too to make this work?
Also, we tested this in #42 but somehow the downstream PR is closed. Do you remember what kind of error we faced at that time?
|
We're overriding this in Makefile.envs: |
Yes, but the config in |
|
We clearly don't want this as a default. Presumably we can add it explicitly to any recipe that needs it? |
|
Anyways I'd like to switch to stable Rust in the next few months and to do that we need to stop passing unstable flags. |
Sounds reasonable. |
- maturin: bump `requires` in pydantic-core/pyproject.toml to `>=1.13.2,<2` (PEP 783 `pyemscripten_*_wasm32` tag landed in 1.13.2); drop the CI pre-install of `maturin @ git+main` and the `--no-isolation` flag in `make build-pyemscripten`. PEP 517 isolation now installs a released maturin from PyPI (wheel install, no rustc needed for maturin). - Rust toolchain: switch `core-build-pyemscripten` from nightly to stable. Pyodide 314.0.0a1's xbuildenv pins `RUST_TOOLCHAIN ?= 1.93.0`, the `-Z link-native-libraries=no` default was dropped in pyodide/pyodide-build#269, and `-Z emscripten-wasm-eh` became default in Rust 1.93 (rust-lang/rust#148309 / MCP 920). - pyodide-build: depend on the released `pyodide-build[resolve]>=0.34.3` rather than `git+main`. - Drop the `skip_emscripten` marker indirection: the marker, its registrations in both pyproject.toml files, and the `pytest_runtest_setup` hooks that consumed it are gone. `tests/test_docs.py` and `tests/test_pickle.py` now use `pytest.mark.skipif(sys.platform == 'emscripten', ...)` directly. - Drop the `pytest_itemcollected` Emscripten guard in tests/conftest.py. `pytest-run-parallel` is pure Python and now installs cleanly inside the Pyodide venv (added to `pyemscripten-run-tests.sh`), so the `add_marker('thread_unsafe')` path no longer needs to be skipped. - Move `pyemscripten-run-tests.sh` from `.github/scripts/` to the project root to match the convention of other top-level scripts; update the CI step path accordingly. - Add `make test-pyemscripten` so contributors can reproduce the CI job locally (build pyemscripten + pure-Python wheels, then run the suite inside a Pyodide venv). - Reword the Pyodide teardown-crash comment in the test runner to describe the symptom precisely (`RuntimeError: null function or function signature mismatch`) and reference the closest related upstream report (pyodide/pyodide#5015). Verified locally end-to-end on aarch64 (emsdk 5.0.3 + pyodide-build 0.34.3 + Rust 1.95 stable + Pyodide xbuildenv 314.0.0a1): wheel builds green, twine check PASSED, 11248 tests pass / 297 skipped / 37 xfailed inside the Pyodide venv.
We haven't wanted this for a long time