Skip to content

Conversation

@mrmundt
Copy link
Contributor

@mrmundt mrmundt commented Dec 12, 2025

Summary

This is not fully complete yet - I need to update a bit of documentation before we can consider this to be truly ready to go. However, there is a full set of new binaries on my fork at https://github.com/mrmundt/idaes-ext/releases/tag/5.0.0rc1 that I want folks to play with for the time being.

Updates include...

  • Entirely updated toolchain (boost, PETSc, HSL, etc.)
  • HSL support for Mac Intel
  • NO Metis support for MacOS Apple Silicon due to compatibility issues
  • Builds for ubuntu 20.04, 22.04, 24.04, el8, el9, (x86_64 and aarch64), mac (x86_64 and arm64), and windows (x86_64 only)
  • Reorganized tarball layout to use a more standard bin/lib/share structure:
    • Old layout:
      • idaes-lib-*.tar.gz - various libraries and helm_data/.
        - idaes-solvers-*.tar.gz - various solver executables and libraries.
      • idaes-petsc-*.tar.gz - petsc executable and petscpy/.
    • New layout:
      • New idaes-functions-*.tar.gz tarball:
        • lib/ - libraries from idaes-lib-*
        • helm_data/ - from idaes-lib-*
      • idaes-solvers-*.tar.gz now contains:
        • bin/ - solver and petsc executables (all executables)
        • lib/ - shared libraries from idaes-solvers-*, petscpy/, and (NEW) pkgconfig/
        • share/ - documentation
    • The separate idaes-lib-*.tar.gz and idaes-petsc-*.tar.gz tarballs are no longer produced;
      their contents have been folded into idaes-functions-*.tar.gz and idaes-solvers-*.tar.gz.
      The tarballs can be unpacked in one directory, causing the two separate lib folders to merge contents.
  • Release no longer includes ipopt_l1 and ipopt_sens_l1

@mrmundt mrmundt requested a review from Robbybp December 12, 2025 19:57
@mrmundt
Copy link
Contributor Author

mrmundt commented Dec 12, 2025

Other things we need to do:

  1. Make an IDAES-specific cyipopt copy with my changes from https://github.com/mrmundt/cyipopt/tree/idaes-ipopt
  2. Update IDAES-ipopt with the changes from https://github.com/mrmundt/Ipopt/tree/stable/3.14
  3. After all of that is done... Make necessary updates to idaes-pse such that get-extensions functions correctly given the new structure of the tarballs

@Robbybp
Copy link
Member

Robbybp commented Dec 12, 2025

Very very exciting! This is all with the latest HSL?

NO Metis support for MacOS Apple Silicon due to compatibility issues

Is this with Metis 4 or Metis 5?

Make an IDAES-specific cyipopt copy with my changes from https://github.com/mrmundt/cyipopt/tree/idaes-ipopt

Is this related to mechmotum/cyipopt#277? CyIpopt should support pkg-config on Windows now (see mechmotum/cyipopt#293), so we might be able to do this without custom logic in CyIpopt. (I.e., we would update ipopt.pc to include all our Windows libraries (if it doesn't already), then make sure we set PKG_CONFIG_PATH before installing CyIpopt).

@ksbeattie ksbeattie added the Priority:High High Priority Issue or PR label Dec 19, 2025
@mrmundt
Copy link
Contributor Author

mrmundt commented Jan 5, 2026

Very very exciting! This is all with the latest HSL?

I'm not sure if it's the very latest. I think it's "the newest one we are contracted to access", whatever that version is.

Is this with Metis 4 or Metis 5?

Metis 4 is the version that coinbrew forces the toolchain to use. It might work with 5, but I couldn't figure out how to get it to actually do it. It's something I want to spend more time exploring.

Is this related to mechmotum/cyipopt#277? CyIpopt should support pkg-config on Windows now (see mechmotum/cyipopt#293), so we might be able to do this without custom logic in CyIpopt. (I.e., we would update ipopt.pc to include all our Windows libraries (if it doesn't already), then make sure we set PKG_CONFIG_PATH before installing CyIpopt).

Um, I'm not sure? These are the changes I made: mechmotum/cyipopt@master...mrmundt:cyipopt:idaes-ipopt

@mrmundt
Copy link
Contributor Author

mrmundt commented Jan 22, 2026

TODO: Update the auto tests on idaes-ext (this fork/branch) to run the Pyomo and IDAES tests after the initial ones pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority:High High Priority Issue or PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants