Skip to content

Update gsl-lite to 1.0.1#4

Closed
musicinmybrain wants to merge 1 commit into
openbraininstitute:masterfrom
musicinmybrain:gsl-lite-1
Closed

Update gsl-lite to 1.0.1#4
musicinmybrain wants to merge 1 commit into
openbraininstitute:masterfrom
musicinmybrain:gsl-lite-1

Conversation

@musicinmybrain
Copy link
Copy Markdown
Contributor

See https://github.com/gsl-lite/gsl-lite/releases/tag/v1.0.0 and https://gsl-lite.github.io/gsl-lite/#migration-guide.

In gsl-lite 1.x, gsl_CONFIG_ALLOWS_SPAN_COMPARISON defaults to 0, so I implemented it manually for morphio::range.

See https://github.com/gsl-lite/gsl-lite/releases/tag/v1.0.0 and
https://gsl-lite.github.io/gsl-lite/#migration-guide.

In gsl-lite 1.x, `gsl_CONFIG_ALLOWS_SPAN_COMPARISON` defaults to 0, so I
implemented it manually for `morphio::range`.
@sanjayankur31
Copy link
Copy Markdown
Contributor

Hello---any updates here please? (If it isn't an issue, the gsl git submodule should also be updated to v1.x---v0.4 is 5 years old..)

@mgeplf
Copy link
Copy Markdown
Collaborator

mgeplf commented Mar 11, 2026

Hello---any updates here please?

Sorry, I haven't had much time for maintenance on this repo; I will see if I can find time.

@sanjayankur31
Copy link
Copy Markdown
Contributor

thanks @mgeplf , no hurry as always

mgeplf added a commit that referenced this pull request Mar 11, 2026
@mgeplf mgeplf mentioned this pull request Mar 11, 2026
@mgeplf
Copy link
Copy Markdown
Collaborator

mgeplf commented Mar 12, 2026

@sanjayankur31 > no hurry as always

I looked at this a bit yesterday, and it seems that upstream has changed how they have laid out their CMake files.

I'm considering "just" versioning in the gsl-lite requirement, but I don't know what the impact on packaging would be in that case. Do you have any guidance @sanjayankur31?

@sanjayankur31
Copy link
Copy Markdown
Contributor

Do you mean pinning it to a particular version? In that case, if this version is not what the Fedora package of gsl-lite is at, we'll need to bundle that in when we build morphio, but that's fine for us to do.

It will likely mean that morphio will remain pinned on an older version of gsl-lite, since no one will be testing it with newer versions. We can try it out with the gsl-lite package from time to time downstream and provide feedback. For this ticket, I guess if morphio is pinned to gsl-lite v1.x now, that should work for a long time (assuming that gsl-lite follows semver and remains API compatible throughout the v1 series).

mgeplf added a commit that referenced this pull request Mar 18, 2026
mgeplf added a commit that referenced this pull request Mar 19, 2026
mgeplf added a commit that referenced this pull request Mar 24, 2026
* switch to gsl v1.0.1

* inspired by @musicinmybrain PR: #4
* Getting this in CI:
    + delocate-wheel --require-archs x86_64 -w /private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/repaired_wheel -v /private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/built_wheel/morphio-0.1.dev1-cp39-cp39-macosx_10_9_x86_64.whl
    INFO:delocate.delocating:Copying library /usr/local/Cellar/llvm@18/18.1.8/lib/libunwind.1.0.dylib to morphio/.dylibs/libunwind.1.0.dylib
    INFO:delocate.delocating:Modifying install name in morphio/_morphio.cpython-39-darwin.so from /usr/local/opt/llvm@18/lib/libunwind.1.dylib to @loader_path/.dylibs/libunwind.1.0.dylib
    Traceback (most recent call last):
    Fixing: /private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/built_wheel/morphio-0.1.dev1-cp39-cp39-macosx_10_9_x86_64.whl
      File "/private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/build/venv/bin/delocate-wheel", line 6, in <module>
        sys.exit(main())
      File "/private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/build/venv/lib/python3.9/site-packages/delocate/cmd/delocate_wheel.py", line 115, in main
        copied = delocate_wheel(
      File "/private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/build/venv/lib/python3.9/site-packages/delocate/delocating.py", line 1106, in delocate_wheel
        out_wheel_fixed = _check_and_update_wheel_name(
      File "/private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/build/venv/lib/python3.9/site-packages/delocate/delocating.py", line 928, in _check_and_update_wheel_name
        raise DelocationError(
    delocate.libsana.DelocationError: Library dependencies do not satisfy target MacOS version 10.9:
    /private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/tmpbzlbaa5d/wheel/morphio/.dylibs/libunwind.1.0.dylib has a minimum target of 14.0
    Set the environment variable 'MACOSX_DEPLOYMENT_TARGET=14.0' to update minimum supported macOS for this wheel.
    [error]cibuildwheel: Command delocate-wheel --require-archs x86_64 -w /private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/repaired_wheel -v /private/var/folders/9n/h1d0pgxn4f5bbpg9mrrft9140000gn/T/cibw-run-mm_sqjzq/cp39-macosx_x86_64/built_wheel/morphio-0.1.dev1-cp39-cp39-macosx_10_9_x86_64.whl failed with code 1.
    [endgroup]

Try to work around this without setting `MACOSX_DEPLOYMENT_TARGET=14.0`
@mgeplf
Copy link
Copy Markdown
Collaborator

mgeplf commented Apr 7, 2026

I did the upgrade here:
#36

Thanks for the inspiration @musicinmybrain

@mgeplf mgeplf closed this Apr 7, 2026
@musicinmybrain
Copy link
Copy Markdown
Contributor Author

You’re welcome! Glad it was helpful.

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