2026Q1 and USE_CXX_FEATURES+=c++20

Edgar Fuß <[email protected]> Tue, 31 Mar 2026 12:01:12 +0200
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <[email protected]>
Upgrading to 2025Q4 and then to 2026Q1 I see an increasing number of packages 
bumping USE_CXX_FEATURES from c++17 to c++20. On -10, this inflicts gcc12, 
thus a non-base C++ compiler with all the resulting potential C++ library 
incompatibilities, on me.

I've patched that to c++17 (plus filesystem for libheif) in graphics/libheif, 
print/poppler (Makefile.common, buildlink3.mk) and print/qpdf and built all 
my packages with the base gcc10.

So, what problem is this trying to solve? Is it that packages compile with 
gcc10, but fail to function? Is it that linking to specific programs I 
don't use doesn't work? Is it specific for -9?

compiler/gcc.mk says:
# gcc documents that 11 is required, with a few perhaps-obscure
# features requiring 12.  gcc10 does not define __cplusplus as meeting
# c++20.

print/qpdf/Makefile says:
# fix build on NetBSD/9.4
# -- Performing Test ATOMIC_WORKED0
# CMake Error in /tmp/print/qpdf/work/qpdf-12.3.2/cmake-pkgsrc-build/CMakeFiles/CMakeScratch/TryCompile-g61khV/CMakeLists.txt:
#   Target "cmTC_f6cd8" requires the language dialect "CXX20" .  But the
#   current compiler "GNU" does not support this, or CMake does not know the
Couldn't at least this be limited to -9?