v2412 does not compile with clang in distributions with an old flex version
Summary
In c++17, the 'register' keyword has been removed. gcc still compiles code that includes it by issuing a warning but clang treats it as an error.
However, distributions with an old flex version (< 2.6.0) will produce .C files that include this keyword. This is what happens when parsing src/fileFormats/stl/STLAsciiParseFlex.L, eventually leading to compilation errors when using clang (version 15.0.4 for me, but I guess the issue will emerge with all c++17-enabled versions).
Though quite old, many clusters run Linux distributions that ship with flex versions < 2.6.0 (Amazon Linux 2 and RHEL 6.10 use 2.5.35, CentOS 7.9 uses flex 2.5.37). I ran into this issue in AWS, the Greek national supercomputer ARIS, and, of course our own cluster
Possible fixes
Maybe the installation scripts can give the option to install a recent version of flex (2.6.4 worked fine for me, when compiled manually in the above mentioned systems) in the ThirdParty folder. Then, the bin folder of the compiled flex version can be exported to $PATH. Additionally, the include folder of the compiled flex version should be added to the wmake rules, to allow the compiler to see the newer FlexLexer.h header.