Skip to content

CI: install openssl from conda-forge before gamspy in test-agnostic job#615

Merged
DLWoodruff merged 2 commits intoPyomo:mainfrom
DLWoodruff:fix-gams-openssl
Feb 25, 2026
Merged

CI: install openssl from conda-forge before gamspy in test-agnostic job#615
DLWoodruff merged 2 commits intoPyomo:mainfrom
DLWoodruff:fix-gams-openssl

Conversation

@DLWoodruff
Copy link
Collaborator

@DLWoodruff DLWoodruff commented Feb 25, 2026

Summary

  • Recent gamspy_base releases link their native shared library (libjoatdclib64.so) against OpenSSL 3.2+, but the ubuntu-latest GitHub Actions runner ships OpenSSL 3.0.x (Ubuntu 22.04), causing every open PR to fail with:

    GamsException: Could not load shared library .../gamspy_base/libjoatdclib64.so:
      /lib/x86_64-linux-gnu/libssl.so.3: version 'OPENSSL_3.2.0' not found
    
  • Installing openssl from conda-forge before pip install gamspy places a new-enough libssl.so.3 on the conda environment's LD_LIBRARY_PATH, satisfying the versioned-symbol requirement.

Test plan

  • Verify the test-agnostic CI job passes on this PR
  • Confirm other open PRs are unblocked once merged

🤖 Generated with Claude Code

DLWoodruff and others added 2 commits February 24, 2026 17:10
Recent gamspy_base releases link against OpenSSL 3.2+, but the
ubuntu-latest runner ships OpenSSL 3.0.x (Ubuntu 22.04), causing
a runtime failure:

  GamsException: Could not load libjoatdclib64.so:
    version 'OPENSSL_3.2.0' not found

Installing openssl from conda-forge puts a new enough libssl.so.3
on the conda LD_LIBRARY_PATH before gamspy is installed, satisfying
the versioned-symbol requirement and unblocking all open PRs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
conda does not automatically add its lib dir to LD_LIBRARY_PATH, so
the system linker still found the system libssl.so.3 (OpenSSL 3.0.x)
first, even after installing a newer openssl from conda-forge.
Exporting CONDA_PREFIX/lib at the front of LD_LIBRARY_PATH ensures
the conda-forge OpenSSL (which provides OPENSSL_3.2.0) is found
before the system one when gamspy loads its native shared library.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@DLWoodruff DLWoodruff merged commit d1d2206 into Pyomo:main Feb 25, 2026
19 checks passed
@DLWoodruff DLWoodruff deleted the fix-gams-openssl branch February 25, 2026 01:36
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.

1 participant