From: Rafael Sadowski Subject: Re: [llvm22] Breakage 2026-05-26 To: Theo Buehler Cc: Christian Weisgerber , ports@openbsd.org, David Carlier Date: Wed, 27 May 2026 22:37:57 +0200 On Wed May 27, 2026 at 09:03:16PM +0200, Theo Buehler wrote: > On Wed, May 27, 2026 at 08:51:53PM +0200, Rafael Sadowski wrote: > > On Wed May 27, 2026 at 08:13:50PM +0200, Rafael Sadowski wrote: > > > On Wed May 27, 2026 at 04:36:40PM +0200, Christian Weisgerber wrote: > > > > http://build-failures.rhaalovely.net/amd64-clang/2026-05-26/ > > > > > > > > $ awk '/->/ { a[$NF]++ } END { for(i in a) printf "%3d %s\n", a[i], i }' \ > > > > summary.log | sort -nr > > > > 133 audio/openal > > > > > > I think that is currently our best solution/pattern for the > > > "CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS-NOTFOUND" error class: > > > > > > MODULES += lang/clang > > > MODCLANG_COMPILER_LINKS = No > > > CONFIGURE_ARGS+= -DCMAKE_CXX_COMPILER_CLANG_SCAN_DEPS=${LOCALBASE}/bin/clang-scan-deps-${MODCLANG_VERSION} > > > > > > > Correction: the CONFIGURE_ARGS will be overwritten again by > > Modules/Compiler/Clang-FindBinUtils.cmake because > > MODCLANG_COMPILER_LINKS is set to "No" and the cmake module will force > > the compiler version. > > > > Meaning: > > > > Will fail if we switch base to 22 and ports stay 19: > > > > > MODULES += lang/clang > > > MODCLANG_COMPILER_LINKS = No > > > CONFIGURE_ARGS+= -DCMAKE_CXX_COMPILER_CLANG_SCAN_DEPS=${LOCALBASE}/bin/clang-scan-deps-${MODCLANG_VERSION} > > > > This should work for the migration now: > > > > MODULES += lang/clang > > MODCLANG_COMPILER_LINKS = No > > MODCLANG_VERSION = 22 > > CONFIGURE_ARGS+= -DCMAKE_CXX_COMPILER_CLANG_SCAN_DEPS=${LOCALBASE}/bin/clang-scan-deps-${MODCLANG_VERSION} > > > > # XXX remove after base has llvm/22 > > BUILD_DEPENDS = devel/llvm/19 > > > > Tested with openal and it fallback to 19 for now and if > > MODCLANG_COMPILER_LINKS = Yes (tested) or llvm22 is in base (untested) > > it should pickup 22. > > > > What is in tree is the above without the CONFIGURE_ARGS magic. This works > because with llvmXX in base, clang-scan-deps-XX is selected and provided > by the relevant devel/llvm/XX port. This has been tested for poppler in > several bulks and I have also tested it for openal. I'm happy to switch > to your approach for poppler and openal once the dust of the compiler > switch has settled. Yes, for CXX, that should work even without the "CONFIGURE_ARGS magic". What I meant to say above is that CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS is ONLY determined based on the C++ compiler version. That's why we need: > > MODCLANG_COMPILER_LINKS = No > > MODCLANG_VERSION = 22 > > > > MODULES += lang/clang > > MODCLANG_COMPILER_LINKS = No > > MODCLANG_VERSION = 22 > > CONFIGURE_ARGS+= -DCMAKE_CXX_COMPILER_CLANG_SCAN_DEPS=${LOCALBASE}/bin/clang-scan-deps-${MODCLANG_VERSION} > > > > # XXX remove after base has llvm/22 > > BUILD_DEPENDS = devel/llvm/19 Anyway: diff --git a/audio/openal/Makefile b/audio/openal/Makefile index 9795a01ec83..36682ac45fc 100644 --- a/audio/openal/Makefile +++ b/audio/openal/Makefile @@ -36,7 +36,7 @@ CONFIGURE_ARGS =-DALSOFT_BACKEND_PIPEWIRE=Off \ -DCMAKE_DISABLE_FIND_PACKAGE_OSS:Bool=Yes \ -DCMAKE_DISABLE_FIND_PACKAGE_PortAudio:Bool=Yes \ -DCMAKE_DISABLE_FIND_PACKAGE_PulseAudio:Bool=Yes \ - -DCMAKE_DISABLE_FIND_PACKAGE_SDL2:Bool=Yes \ + -DCMAKE_DISABLE_FIND_PACKAGE_SDL3:Bool=Yes \ -DCMAKE_DISABLE_FIND_PACKAGE_SndFile:Bool=Yes MODCMAKE_POLICY_VERSION_OVERRIDE = Yes @@ -49,8 +49,12 @@ MODULES = devel/cmake # XXX cmake config uses CXX_MODULES, which needs clang-scan-deps MODULES += lang/clang +MODCLANG_VERSION = 22 MODCLANG_COMPILER_LINKS = No +# XXX remove after base has llvm/22 +BUILD_DEPENDS = devel/llvm/19 + COMPILER = base-clang ports-gcc NO_TEST = Yes