Skip to content

Conversation

@ianthomas23
Copy link
Collaborator

Experimental scipy recipe using openblas-flang, building on top of previous experiments. Some of the scipy submodules/directories are disabled, I'm hoping these just need patches to their function arguments and/or return types. As it stands the recipe builds but loading of any of the *.so fails at runtime (e.g. try import scipy.linalg). I've disabled the tests as they just hang.

Patch 7 includes two text files which list regexes to match filenames which do or do not need the return type and/or function arguments changed. I found it easiest to use this approach to ensure that where this information is needed more than once it is consistently applied, but these could just be replaced with standard patches to the source code.

Although it builds it is not clear that the correct flags are getting through to the compilers and linkers.

@DerThorsten
Copy link
Contributor

@IsabelParedes had a version where the *.so files seems to be importable but there where undefined symbols. Courious whats the difference

@ianthomas23
Copy link
Collaborator Author

ianthomas23 commented Nov 25, 2025

@IsabelParedes had a version where the *.so files seems to be importable but there where undefined symbols. Courious whats the difference

IIRC that wasn't using openblas-flang?

I've checked the *.so files using wasm-validate --enable-exceptions and no problems are reported.

To me this now feels like a problem resolving or loading nested shared libraries, such as in emscripten-core/emscripten#24234.

@ianthomas23
Copy link
Collaborator Author

I no longer think that my previous analysis is correct, when there is a problem loading a nested shared library it is often reported as something simpler. Anyway I have made enough progress for the build to succeed and to run some simple sparse examples, but lots still does not work.

I'll close this PR now as I'll need to update the openblas-flang recipe with some new patches before I can continue with the scipy-flang recipe.

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.

2 participants