Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solver library linking causing solvers to fail #258

Open
seimtpow opened this issue Oct 17, 2024 · 0 comments
Open

Solver library linking causing solvers to fail #258

seimtpow opened this issue Oct 17, 2024 · 0 comments
Labels
bug Something isn't working build Issues related to compiling and installing

Comments

@seimtpow
Copy link
Contributor

In Nektar++ the SessionReader::VerifySolutionInfo function checks if a property of the input file has an associated map that maps from the value to an enum. If no map exists then no error is raised, if a map exists because a call to
Nektar::LibUtilities::SessionReader::RegisterEnumValue exists to associate a property, value and enum, then every value associated with that property must be associated with an enum or a assert will be triggered.

Some solver libraries contain calls to RegisterEnumValue as described. If a executable is linked to one of these libraries
then the problem described is triggered.

The Spack build does not build these libraries so no error occurs but if these libraries are built then Neso's build system will create a interface target Nektar++::Nektar++ that includes all nektar++ libraries and the assert in VerifySolutionInfo will fail

Can be fixed by e.g.

@seimtpow seimtpow added bug Something isn't working build Issues related to compiling and installing labels Oct 21, 2024
seimtpow pushed a commit that referenced this issue Nov 26, 2024
 - Swapped the auto_switch macro for a templated "static_case" function
 - moved some the static_for and static_case headers to own utilitiles
   directory
 - moved definition of compiler time constants to neso_constants.hpp
   and set some from cmake
 - Re-factored unit tests to be more DRY
 - removed dependance on Nektar types in projection shape classes
 - Removed getargs from benchmark (will revert if we decide (wisely) no need to
   support windows)
 - Projection algorithm can be picked at runtime by defining
   NESO_USE_OLD_PROJECTION as an env variable (value dosn't matter)
 - Swapped pragma once for header guards
 - general tidying and fixes
 - Fixes issue with linking to nektar libraries in solvers
   (issue #258) so that pull request #257 is redundant
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working build Issues related to compiling and installing
Projects
None yet
Development

No branches or pull requests

1 participant