8000 PEP 776: RPATH is fully supported as of Emscripten 4.0.8 · python/peps@bd70cca · GitHub
[go: up one dir, main page]

Skip to content

Commit bd70cca

Browse files
committed
PEP 776: RPATH is fully supported as of Emscripten 4.0.8
1 parent 0cdfff8 commit bd70cca

File tree

1 file changed

+0
-25
lines changed

1 file changed

+0
-25
lines changed

peps/pep-0776.rst

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -305,31 +305,6 @@ In the long term, we hope to implement stack switching ``stdin`` devices, but
305305
that is out of scope for this PEP.
306306

307307

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-
333308
Traps and Uncaught Exceptions
334309
-----------------------------
335310

0 commit comments

Comments
 (0)
0