ExCALIBUR-NEPTUNE / NESO

MIT License
4 stars 4 forks source link

Solver library linking causing solvers to fail #258

Open seimtpow opened 1 month ago

seimtpow commented 1 month ago

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.