Skip to content

fix gap - #6752

Merged
IsabelParedes merged 13 commits into
emscripten-forge:mainfrom
wangyenshu:gap-fix
Sep 22, 2026
Merged

fix gap#6752
IsabelParedes merged 13 commits into
emscripten-forge:mainfrom
wangyenshu:gap-fix

Conversation

@wangyenshu

Copy link
Copy Markdown
Contributor

Template B: Checklist for updating a package

  • ⚠️ Bump build number if the version remains unchanged
  • Or reset build number to 0 if updating the package to a newer version

PR Formatting

  • PR title follows format: Add [package-name] or Update [package-name] to [version]
  • PR description includes:
    • Version being added/updated
    • Any special build considerations or patches applied

Package Details

  • Package Name: gap
  • Version: 4.16.1

Build Notes

@wangyenshu

Copy link
Copy Markdown
Contributor Author
Screenshot29

I can confirm that gap works after this fix.

@wangyenshu

Copy link
Copy Markdown
Contributor Author

passagemath-gap test says

=================================== FAILURES ===================================
_________________________ test_import_passagemath_gap __________________________
    def test_import_passagemath_gap():
>       import passagemath_gap
E       ModuleNotFoundError: No module named 'passagemath_gap'
test_passagemath_gap.py:5: ModuleNotFoundError
_________________________________ test_libgap __________________________________
    def test_libgap():
>       import passagemath_gap
E       ModuleNotFoundError: No module named 'passagemath_gap'
test_passagemath_gap.py:9: ModuleNotFoundError
=========================== short test summary info ============================

I guess that this is not the gap's issue.

@IsabelParedes

Copy link
Copy Markdown
Member

I guess that this is not the gap's issue.

Something seems to be broken with python tests. Investigating...

Comment thread recipes/recipes_emscripten/gap/build.sh Outdated
@IsabelParedes

Copy link
Copy Markdown
Member

The issue with the python tests is fixed now, if you'd like to test passagemath-gap again :)

@IsabelParedes

Copy link
Copy Markdown
Member
error while evaluating main file: Error: Dynamic linking error: cannot resolve symbol invoke_viii

This generally indicates that -fexceptions was used somewhere, but everything should use -fwasm-exceptions instead.

@wangyenshu

Copy link
Copy Markdown
Contributor Author
error while evaluating main file: Error: Dynamic linking error: cannot resolve symbol invoke_viii

This generally indicates that -fexceptions was used somewhere, but everything should use -fwasm-exceptions instead.

But fwasm is not compatible with asyncify, which is required by gap's garbage collecting mechanism.

@IsabelParedes IsabelParedes left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the changes to gap break passagemath-gap, I would like to get @mkoeppe opinion before merging.

Thank you!

Comment thread recipes/recipes_emscripten/passagemath-gap/test_passagemath_gap.py
@wangyenshu

Copy link
Copy Markdown
Contributor Author

Is it possible for the passagemath-gap test to work without -fwasm?

@mkoeppe

mkoeppe commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Since the changes to gap break passagemath-gap, I would like to get @mkoeppe opinion before merging.

Unfortunately I don't understand the constraints of this platform well enough to comment... What's going on in the dynamic linking of the Python modules that is failing here, and why is dynamic linking otherwise generally avoided in the emscripten-forge recipes?

@wangyenshu

Copy link
Copy Markdown
Contributor Author

Since the changes to gap break passagemath-gap, I would like to get @mkoeppe opinion before merging.

Unfortunately I don't understand the constraints of this platform well enough to comment... What's going on in the dynamic linking of the Python modules that is failing here, and why is dynamic linking otherwise generally avoided in the emscripten-forge recipes?

invoke_viii should be relevant to the JavaScript-based exception handling (-fexceptions). Most of the recipe here is built with WebAssembly-based exception handling (-fwasm). That should be the reason for failing. However, gap relies on asyncify flag which is not compatible with -fwasm.

@IsabelParedes IsabelParedes left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

If this causes issues for passagemath-gap, we can pin it to a previous build or split the gap package as needed.

@IsabelParedes
IsabelParedes merged commit 322f703 into emscripten-forge:main Sep 22, 2026
3 checks passed
IsabelParedes pushed a commit that referenced this pull request Sep 22, 2026
Co-authored-by: emscripten-forge-bot <emscripten-forge-bot@users.noreply.github.com>
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