@@ -305,31 +305,6 @@ In the long term, we hope to implement stack switching ``stdin`` devices, but
305
305
that is out of scope for this PEP.
306
306
307
307
308
- Missing RPATH Support
309
- ---------------------
310
-
311
- An important limitation of the Emscripten dynamic loader is that it does not
312
- currently have RPATH support. Pyodide's present workaround is as follows:
313
- ``auditwheel-emscripten `` places shared library dependencies that are vendored
314
- into a package in a ``${package}.libs `` folder, following auditwheel's
315
- convention. Pyodide patches the dynamic loader to treat this ``${package}.libs ``
316
- folder as if it were on the RPATH of all of the dynamic libraries in the wheel.
317
-
318
- In Emscripten 4.0.5, we have updated the shared object file format, ``wasm-ld ``
319
- and ``emcc `` to accept an ``-rpath `` flag. We are still working on updating the
320
- dynamic loader to respect the rpath, but we expect this will be finished soon.
321
- Pyodide will then switch to using the RPATH and drop the patch on the dynamic
322
- loader.
323
-
324
- Emscripten Python currently uses the unpatched dynamic loader and so cannot load
325
- extension modules that depend on vendored dynamic libraries via DT_NEEDED.
326
- Extension modules can load dynamic libraries via DT_NEEDED if they are in the
327
- system ``lib `` directory. We will wait to resolve this until we have fixed the
328
- Emscripten dynamic loader upstream. When Emscripten Python is built with a
329
- compatible version of Emscripten, it will automatically pick up support for
330
- wheels with vendored dynamic libraries.
331
-
332
-
333
308
Traps and Uncaught Exceptions
334
309
-----------------------------
335
310
0 commit comments