Switch to using a fork of f2c and remove most of _f2c_fixes.py#4920
Switch to using a fork of f2c and remove most of _f2c_fixes.py#4920hoodmane merged 12 commits intopyodide:mainfrom
Conversation
|
Also, I still am amazed every time I build scipy in 5 minutes. Meson is so great. |
There was a problem hiding this comment.
Cool! I've skimmed through your f2c modifications, and TBH I don't understand it very much. Still, I think it is a great improvement if we can remove _f2c_fixes.py which is one of our pain point in pyodide-build.
Please ping me again when the PR is ready, I would like to review again.
packages/scipy/patches/0008-MAINT-linalg-Remove-id_dist-Fortran-files.patch
Show resolved
Hide resolved
There was a problem hiding this comment.
I believe passing F2C_PATH in the cmd line would work without setting it here, then we won't need to modify pyodide-build.
There was a problem hiding this comment.
I tried removing this and it didn't work so I think it's needed. Is there something specific you're suggesting?
There was a problem hiding this comment.
Hmm, that's strange. Let me check locally.
There was a problem hiding this comment.
I opened a PR in your fork: hoodmane#9. The build passes while tests fail.
There was a problem hiding this comment.
Looks like you didn't make the tests fail any worse than they already do though. Thanks!
My pleasure. Please let me know if you encounter any bugs because these translations make it extremely easy to make mistakes and I am very good at making those mistakes. |
|
@lesteve could you run the scipy tests against this? |
|
It seems like there are Pyodide fatal errors on this PR mostly around The output from running all the scipy tests using https://github.com/lesteve/scipy-tests-pyodide: |
|
Thanks @lesteve. I fixed one problem with scipy.sparse, how does it look now? |
|
Yep the |
|
The remaining issue seems related to |
|
Great, thanks @lesteve! |
ryanking13
left a comment
There was a problem hiding this comment.
Codewise looks good to me. Thanks for improving this!
|
I'll rebase #4719 as soon as this is merged, it looks like there are a lot of simplifications, thanks! |
|
In the meantime, we merged MINPACK in scipy/scipy#21131; FYI if that is causing any issues and QUADPACK is next in line, then ARPACK hopefully all in v1.15 timeline. |
|
We have special workarounds for ARPACK, PROPACK, SUPERLU, fitpack, blas and lapack. Also, there are a bunch of test failures in different parts of scipy but I don't really know were or why. |
|
id_dist was by far the worst though. |
…de#4920) I made https://github.com/hoodmane/f2c/ which has some improvements that make it work much better for us including: 1. support for the `recursive` keyword 2. support for variable length arrays that are not arguments in recursive functions 3. `/COMMON/` blocks are labeled with `__attribute__((weak))` 4. automatically omits `ftn_len` arguments from calls to clapack This allows us to delete most of `_f2c_fixes.py`. Thanks to @ilayn for writing scipy/scipy#20558, `id_dist` was going to be a huge pain to deal with.
I made https://github.com/hoodmane/f2c/ which has some improvements that make it work much better for us including:
recursivekeyword/COMMON/blocks are labeled with__attribute__((weak))ftn_lenarguments from calls to clapackThis allows us to delete most of
_f2c_fixes.py.Thanks to @ilayn for writing scipy/scipy#20558,
id_distwas going to be a huge pain to deal with.cc @rgommers @agriyakhetarpal