Closed dschmitz89 closed 1 month ago
Is this a duplicate of #122? Or at least related?
I've run into a problem with singlecomplex
as well yesterday with superlu
build as part of petsc
and using it in dune
.
This looks like a duplicate of #122.
After including the superlu
header the usage of std::complex
in the dune
code fails with singlecomplex not a member of std
.
I changed
#define complex singlecomplex // backward compatibility
to
typedef singlecomplex complex;
in slu_complex.h
. Which solved the problem for me.
Removing the define completely could lead to backward compatibility issues. In my case it caused problems with the usage of ::complex
(no std
) in parts of the dune
code but this could be seen as a bug in the our code and fixed there.
Thanks for the explanations @adedner and @wo80! I created #148 to remove the #define complex
and add an optional typdef
for people who need backwards compatibility. Can you please give it a try? I welcome feedback, including wording and naming of variables.
@gruenich : I will give your branch a test over at SciPy but will take a few days.
Thanks @gruenich @xiaoyeli : compilation works now, will SciPy's vendored SuperLU soon.
The master branch of SuperLU does not compile with the flags used in the SciPy build. See an exemplary CI log here: https://github.com/scipy/scipy/actions/runs/9912930601/job/27388819521?pr=21172#step:9:386
Important to note: this occurs on all platforms with different OSes
CC the following PR in SciPy: https://github.com/scipy/scipy/pull/21172
For visibility CC @rgommers