On Oct 3, 2021, at 16:02, Sergey A. Osokin wrote: > On Mon, Oct 04, 2021 at 04:27:19AM +1100, Joshua Root wrote: >> On 2021-10-4 03:20 , Sergey A. Osokin wrote: >>> I've found that www/unit builds, primarily unit-perl* and unit-ruby >>> modules, fail when it runs with clang13. And that's because of the >>> -Wcompound-token-split-by-macro warning, enable by default for clang13. >>> Here's the similar issue and bug report, >>> https://bugs.ruby-lang.org/issues/17865 >>> >>> From the other side, all 12 builds are successful with clang12. >>> >>> Please note, that's not an issue with NGINX Unit itself, that's the >>> issues when clang13 builds unit-perl* and unit-ruby* modules, and >>> there's no issue with unit-python* modules. >>> >>> So, the forehead solution is probably disable -Werror warning for >>> perl and ruby modules with a reinplace, but I see no reason to do >>> that for all 12 ports, that's why I'm looking for details how to >>> enable -Wno-compound-token-split-by-macro for a specific compiler >>> version. >> >> Removing use of -Werror (for all ports) is the preferable solution here. >> That's a good flag for the upstream developers to use so they have to >> fix warnings, but all it does for our users is cause unnecessary build >> failures. > > Wel, that's definitely good idea for perl and ruby developers to do > that, but in case of NGINX Unit I'd prefer to use more granular > solution, i.e. enable -Wno-compound-token-split-by-macro for clang13.
Presumably if you add -Wno-compound-token-split-by-macro to configure.cflags that will cause problems for older compilers that don't understand that option. If so, then the MacPorts-approved solution is: remove -Werror, as Josh said. We do not want it in ports.
