Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression in scipy build #5131

Closed
ryanking13 opened this issue Oct 22, 2024 · 7 comments · Fixed by #5132 · May be fixed by pyodide/pyodide-build#70
Closed

Regression in scipy build #5131

ryanking13 opened this issue Oct 22, 2024 · 7 comments · Fixed by #5132 · May be fixed by pyodide/pyodide-build#70
Labels
bug Something isn't working

Comments

@ryanking13
Copy link
Member

ryanking13 commented Oct 22, 2024

🐛 Bug

It seems like scipy build is partially broken since Oct 19~21.

For some reason, _unuran module is built as a static library, breaking scipy tests. This often happens when SIDE_MODULE flag is not correctly passed when linking the shared library, but it is mysterious why is happens.

[735/1329] Linking target scipy/stats/_unuran/unuran_wrapper.cpython-312-wasm32-emscripten.so
emcc: warning: linking a library with `-shared` will emit a static object file.  This is a form of emulation to support existing build systems.  If you want to build a runtime shared library use the SIDE_MODULE setting. [-Wemcc]
emcc: warning: ignoring unsupported linker flag: `--version-script=/root/repo/packages/scipy/build/scipy-1.14.1/scipy/_build_utils/link-version-pyinit.map` [-Wlinkflags]

Since there was no change in Pyodide side, I am guessing it has something to do with build dependencies of Scipy.

I've noticed that the latest successful scipy build used meson 1.5.2 while the one with error used 1.6.0 (released 2 days ago) so it might be related somehow.

@ryanking13 ryanking13 added the bug Something isn't working label Oct 22, 2024
@hoodmane
Copy link
Member

Maybe we can try capping meson in the build deps?

@ryanking13
Copy link
Member Author

Maybe we can try capping meson in the build deps?

Yeah, we can see if that works first, and then we can start finding a root cause.

@juntyr
Copy link
Contributor

juntyr commented Oct 23, 2024

I'm also struggling with this issue - where would I bound the meson version?

@ryanking13
Copy link
Member Author

Reopening as the root cause is not solved yet. I'll take a look soon. Thanks for the fix @juntyr!

@stephanmg
Copy link

Related:

from ._unuran.unuran_wrapper import NumericalInversePolynomial
ImportError: dynamic module does not define module export function
(PyInit_unuran_wrapper)

Might occur if you import a (new) package you build with Pyodide in the Python REPL, like if your package imports somewhere for instance scipy.stats.chi2 - hope this helps some other people.

@ryanking13
Copy link
Member Author

Resolved by #5253

@stephanmg
Copy link

Resolved by #5253

Thanks @ryanking13 I also can confirm that this works for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
4 participants