Closed samuelpmishLLNL closed 4 months ago
Some insightful comments by Cyrus helped reveal that the Fortran-specific flags are being introduced to serac through BLT aggregating compiler flags from mpi compiler wrappers. As a workaround, users can manually modify the compiler wrappers (e.g. mpif90
) to remove the -fallow-invalid-boz
and -fallow-argument-mismatch
flags so that our build system does not apply them to C++ files.
However, this still does not fix the last error message:
clang: error: unknown argument: '-fcompare-debug-second'
It's still unclear to me where that one is coming from.
Fixed in #1074
Currently, building serac with
g++
+ codevelop produces a flood of warning messages. Practically every single translation unit emits at least two warnings about Fortran-specific flags inappropriately leaking into the C++ project:This is even more problematic when using clang, as it doesn't allow (invalid) Fortran flags to be passed to a C++ compiler, so they turn into errors, rather than warnings. Additionally, some other gcc specific flags are leaking into the build, like
which isn't a deal breaker, but does make the build logs harder to understand. When codevelop isn't enabled, every sourcefile fails to compile with another unsupported compilation flag:
Near the tail end of the gcc builds, there is another large block (about ~2500) of warning messages relating to superLU source files:
It's not clear to me why our build is worrying about files that are not compiled by this project.