Skip to content

Add vendor-sharedlib key in meta.yaml spec#3234

Merged
ryanking13 merged 8 commits intopyodide:mainfrom
ryanking13:vendor/sharedlib
Nov 9, 2022
Merged

Add vendor-sharedlib key in meta.yaml spec#3234
ryanking13 merged 8 commits intopyodide:mainfrom
ryanking13:vendor/sharedlib

Conversation

@ryanking13
Copy link
Member

@ryanking13 ryanking13 commented Nov 7, 2022

Description

This is anothor split from #3183.

This adds vendor-sharedlib key. If set to True, pyodide-build will copy shared libs into the wheel file after build.
It is similiar to auditwheel repair, but without modifying RPATH.

Since there is no such thing like RPATH in Emscripten WASM module, we need to manage it manually in JS side (which will be a last split up PR for #3183).

Note that vendor-sharedlib is default to False. So no packages are affected by this PR itself.

Checklists

  • Add a CHANGELOG entry
  • Add / update tests
  • Add new / update outdated documentation

@ryanking13 ryanking13 merged commit af206d1 into pyodide:main Nov 9, 2022
@ryanking13 ryanking13 deleted the vendor/sharedlib branch November 9, 2022 11:18
hoodmane added a commit that referenced this pull request Nov 9, 2022
This is needed to finish getting numpy tests working.

It won't work for packages that need shared libraries without some extra intervention.
ryanking's work in #3234 would help to fix this.

pip install scipy makes the command line runner extremely slow. Without scipy installed,
python -c 'print(1)' runs in about 1 second, but with it installed it takes more like 10 seconds
(time to load clapack_all.so and 111 different .so files in scipy, totaling 20 megabytes). We
have to load all of this despite the fact that we won't use any of it.
@rth
Copy link
Member

rth commented Nov 11, 2022

Nice to see more use of auditwheel-emscripten, thanks @ryanking13 !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants