Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Fix: patch bundled Boost hash.hpp to remove std::unary_function for C++17 compatibility#2749

Closed
Sahilll10 wants to merge 66 commits intosu2code:masterfrom
Sahilll10:fix/cpp17-boost-unary-function-tecio
Closed

Fix: patch bundled Boost hash.hpp to remove std::unary_function for C++17 compatibility#2749
Sahilll10 wants to merge 66 commits intosu2code:masterfrom
Sahilll10:fix/cpp17-boost-unary-function-tecio

Conversation

Copy link

Sahilll10 commented Mar 7, 2026 *
edited
Loading

Root Cause

boost/container_hash/hash.hpp uses a guard #if defined(_HAS_AUTO_PTR_ETC)
which is MSVC-only. On MacOS/clang and GCC with -std=c++17, this guard never
activates, so hash_base inherits from std::unary_function
which was removed in C++17 -- causing a build failure.

Fix

Patched the #else branch of hash_base in the bundled Boost headers inside
externals/tecio/boost.tar.gz to use explicit typedef declarations instead
of std::unary_function inheritance. This is identical to what the #if branch
already does correctly for MSVC. No behaviour change whatsoever.

Verification

After repacking, confirmed zero occurrences of unary_function remain in
boost/container_hash/hash.hpp.

Files Changed

  • externals/tecio/boost.tar.gz -- one struct patched in boost/container_hash/hash.hpp

Fixes #2583

Please let me know if there are further adjustments required.

bigfooted and others added 30 commits January 11, 2026 12:36
* fix symmetry shared node
Fix use of DESTDIR with PREFIX in meson
Your Name and others added 28 commits February 14, 2026 00:17
- Changed condition from generic StopCalc flag to specific max_time detection
- CSinglezoneDriver: Detects final_time_reached = (cur_time >= max_time)
- CMultizoneDriver: Applies same pattern for all zones
- Maintains original functionality with clearer, more maintainable code
- Specific to time-domain simulations with second-order time stepping

This addresses maintainer feedback to use explicit time checks instead of
generic stopping conditions, ensuring the fix properly generalizes to all
problem types and follows SU2 monitoring patterns.
Fixing relaxation factor for conserved turbulent variables in SST model
New tutorial - python wrapper and User Defined Functions
option to duplicate markers, to simplify thermoelastic simulations
Iterate both heat and FEA solvers for thermoelastic simulations
Implement max_time detection in GetCauchyCorrectedTimeConvergence() to delay convergence by one iteration, ensuring both current and previous timesteps are saved to unsteady restart files.

This replaces the previous unsafe solution-swapping approach with a more robust pattern modeled after PR su2code#1237. The delay mechanism leverages existing Cauchy convergence infrastructure and properly handles second-order time stepping.

Fixes su2code#2493
...u2code#2734)

* Moved options for initial guess of density and internal energy for data-driven fluid model to deprecated

* Added initial guess function through a small thermodynamic table and prevent Newton solver processes from getting stuck on bounds of the lookup algorithm

* Simplified expression for speed of sound
...ev-restart

Add functionality for unsteady restart handling in CSinglezoneDriver ...
Copy link
Member

pcarruscag commented Mar 7, 2026

You opened the PR against the wrong branch, I advise you to read the PR checklist and the contributing guidelines.

pcarruscag closed this Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

C++17 and Boost generates an error for unary_function in external submodule

8 participants