| Summary: | www/qt6-webengine: fails to build with SNDIO=on (sndio_output.cc:14:27: error: redefinition of 'kSampleFormat') | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Benjamin Takacs <nimaje+fbz> | ||||
| Component: | Individual Port(s) | Assignee: | freebsd-kde (group) <kde> | ||||
| Status: | Open --- | ||||||
| Severity: | Affects Only Me | CC: | jhale, robbak | ||||
| Priority: | --- | Flags: | jhale:
maintainer-feedback+
|
||||
| Version: | Latest | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
Created attachment 250886 [details]
Proposed fix for qt6-webengine + SNDIO
Sorry for the breakage. I'm currently prepping Qt 6.7.1 and will have this fixed as part of that release. Should just be another day or two.
It *should* be enough to just give the variables unique names to fix the jumbo build and this follows what the default alsa backend does. I haven't tested this yet, but if you can't wait for Qt 6.7.1, please try the attached patch. Use ninja 1.11.1 to build, also. We have been seeing some new problems with ninja 1.12.x and qt*-webengine. Ninja was just reverted to 1.11.1 today.
Small update: I have a successful build with SNDIO enabled in qt6-webengine with my proposed patch in my local qt6-6.7.1 update branch, but the patch should also apply cleanly to 6.7.0 in main. A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=359c8eed1862a08dbe0a9a67a62bb209c9471da9 commit 359c8eed1862a08dbe0a9a67a62bb209c9471da9 Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2024-05-24 08:48:58 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2024-05-25 01:55:22 +0000 Qt6: Update to 6.7.1 As a patch release, Qt 6.7.1 does not introduce any new features but contains more than 400 bug fixes, security updates, and other improvements to the top of the Qt 6.7.0 release. See more information about the most important changes and bug fixes from Qt 6.7.1 release note. Enable building of databases/qt6-base_sqldriver@mysql with MariaDB. [1] Fix build of www/qt6-webengine with the SNDIO option enabled. [2] Announcement: https://www.qt.io/blog/qt-6.7.1-released Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.7.1/release-note.md PR: 277922 [1], 279180 [2] Reported by: vvd [1], Benjamin Takacs <nimaje+fbz@bureaucracy.de> [2] MFH: 2024Q2 Security: f5fa174d-19de-11ef-83d8-4ccc6adda413 Mk/Uses/qt.mk | 2 +- accessibility/qt6-speech/distinfo | 6 +- comms/qt6-connectivity/distinfo | 6 +- comms/qt6-sensors/distinfo | 6 +- comms/qt6-serialbus/distinfo | 6 +- comms/qt6-serialport/distinfo | 6 +- databases/qt6-base_sqldriver/Makefile | 4 - databases/qt6-base_sqldriver/distinfo | 6 +- devel/qt6-5compat/distinfo | 6 +- devel/qt6-base/Makefile | 3 - devel/qt6-base/distinfo | 8 +- .../files/patch-cmake_FindMySQL.cmake (new) | 13 + .../files/patch-src_corelib_tools_qspan.h (gone) | 15 - devel/qt6-base/pkg-plist | 6 +- devel/qt6-languageserver/distinfo | 6 +- devel/qt6-location/distinfo | 6 +- devel/qt6-positioning/distinfo | 6 +- devel/qt6-remoteobjects/distinfo | 6 +- devel/qt6-scxml/distinfo | 6 +- devel/qt6-tools/distinfo | 6 +- devel/qt6-translations/distinfo | 6 +- devel/qt6-translations/pkg-plist | 14 + graphics/qt6-3d/distinfo | 6 +- graphics/qt6-imageformats/Makefile | 1 - graphics/qt6-imageformats/distinfo | 6 +- graphics/qt6-lottie/distinfo | 6 +- graphics/qt6-quickeffectmaker/distinfo | 6 +- graphics/qt6-svg/distinfo | 6 +- graphics/qt6-wayland/distinfo | 6 +- misc/qt6-doc/distinfo | 6 +- misc/qt6-doc/pkg-plist | 14 + misc/qt6-examples/distinfo | 6 +- misc/qt6-examples/pkg-plist | 82 +- multimedia/qt6-multimedia/Makefile | 37 +- multimedia/qt6-multimedia/distinfo | 8 +- .../files/patch-src_multimedia_configure.cmake | 11 +- multimedia/qt6-multimedia/pkg-help (new) | 2 + multimedia/qt6-multimedia/pkg-plist | 49 + net/qt6-coap/distinfo | 6 +- net/qt6-networkauth/distinfo | 6 +- science/qt6-quick3dphysics/distinfo | 6 +- www/qt6-httpserver/distinfo | 6 +- www/qt6-webchannel/distinfo | 6 +- www/qt6-webengine/distinfo | 6 +- .../files/patch-security-rollup (gone) | 6091 -------------------- ...arty_chromium_media_audio_sndio_sndio__input.cc | 10 +- ...rty_chromium_media_audio_sndio_sndio__output.cc | 12 +- ...ty_webrtc_pc_legacy__stats__collector.cc (gone) | 114 - www/qt6-websockets/distinfo | 6 +- www/qt6-webview/distinfo | 6 +- x11-toolkits/qt6-charts/distinfo | 6 +- x11-toolkits/qt6-datavis3d/distinfo | 6 +- x11-toolkits/qt6-declarative/distinfo | 6 +- x11-toolkits/qt6-declarative/pkg-plist | 8 +- x11-toolkits/qt6-graphs/distinfo | 6 +- x11-toolkits/qt6-graphs/pkg-plist | 38 +- x11-toolkits/qt6-quick3d/distinfo | 6 +- x11-toolkits/qt6-quicktimeline/distinfo | 6 +- x11-toolkits/qt6-shadertools/distinfo | 6 +- x11-toolkits/qt6-virtualkeyboard/distinfo | 6 +- 60 files changed, 335 insertions(+), 6435 deletions(-) A commit in branch 2024Q2 references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=60f70de1dc864e0b1d9dae3c9a93e0b12c64fc50 commit 60f70de1dc864e0b1d9dae3c9a93e0b12c64fc50 Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2024-05-24 08:48:58 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2024-05-25 02:00:43 +0000 Qt6: Update to 6.7.1 As a patch release, Qt 6.7.1 does not introduce any new features but contains more than 400 bug fixes, security updates, and other improvements to the top of the Qt 6.7.0 release. See more information about the most important changes and bug fixes from Qt 6.7.1 release note. Enable building of databases/qt6-base_sqldriver@mysql with MariaDB. [1] Fix build of www/qt6-webengine with the SNDIO option enabled. [2] Announcement: https://www.qt.io/blog/qt-6.7.1-released Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.7.1/release-note.md PR: 277922 [1], 279180 [2] Reported by: vvd [1], Benjamin Takacs <nimaje+fbz@bureaucracy.de> [2] MFH: 2024Q2 Security: f5fa174d-19de-11ef-83d8-4ccc6adda413 (cherry picked from commit 359c8eed1862a08dbe0a9a67a62bb209c9471da9) Mk/Uses/qt.mk | 2 +- accessibility/qt6-speech/distinfo | 6 +- comms/qt6-connectivity/distinfo | 6 +- comms/qt6-sensors/distinfo | 6 +- comms/qt6-serialbus/distinfo | 6 +- comms/qt6-serialport/distinfo | 6 +- databases/qt6-base_sqldriver/Makefile | 4 - databases/qt6-base_sqldriver/distinfo | 6 +- devel/qt6-5compat/distinfo | 6 +- devel/qt6-base/Makefile | 3 - devel/qt6-base/distinfo | 8 +- .../files/patch-cmake_FindMySQL.cmake (new) | 13 + .../files/patch-src_corelib_tools_qspan.h (gone) | 15 - devel/qt6-base/pkg-plist | 6 +- devel/qt6-languageserver/distinfo | 6 +- devel/qt6-location/distinfo | 6 +- devel/qt6-positioning/distinfo | 6 +- devel/qt6-remoteobjects/distinfo | 6 +- devel/qt6-scxml/distinfo | 6 +- devel/qt6-tools/distinfo | 6 +- devel/qt6-translations/distinfo | 6 +- devel/qt6-translations/pkg-plist | 14 + graphics/qt6-3d/distinfo | 6 +- graphics/qt6-imageformats/distinfo | 6 +- graphics/qt6-lottie/distinfo | 6 +- graphics/qt6-quickeffectmaker/distinfo | 6 +- graphics/qt6-svg/distinfo | 6 +- graphics/qt6-wayland/distinfo | 6 +- misc/qt6-doc/distinfo | 6 +- misc/qt6-doc/pkg-plist | 14 + misc/qt6-examples/distinfo | 6 +- misc/qt6-examples/pkg-plist | 82 +- multimedia/qt6-multimedia/Makefile | 37 +- multimedia/qt6-multimedia/distinfo | 8 +- .../files/patch-src_multimedia_configure.cmake | 11 +- multimedia/qt6-multimedia/pkg-help (new) | 2 + multimedia/qt6-multimedia/pkg-plist | 49 + net/qt6-coap/distinfo | 6 +- net/qt6-networkauth/distinfo | 6 +- science/qt6-quick3dphysics/distinfo | 6 +- www/qt6-httpserver/distinfo | 6 +- www/qt6-webchannel/distinfo | 6 +- www/qt6-webengine/distinfo | 6 +- .../files/patch-security-rollup (gone) | 6091 -------------------- ...arty_chromium_media_audio_sndio_sndio__input.cc | 10 +- ...rty_chromium_media_audio_sndio_sndio__output.cc | 12 +- ...ty_webrtc_pc_legacy__stats__collector.cc (gone) | 114 - www/qt6-websockets/distinfo | 6 +- www/qt6-webview/distinfo | 6 +- x11-toolkits/qt6-charts/distinfo | 6 +- x11-toolkits/qt6-datavis3d/distinfo | 6 +- x11-toolkits/qt6-declarative/distinfo | 6 +- x11-toolkits/qt6-declarative/pkg-plist | 8 +- x11-toolkits/qt6-graphs/distinfo | 6 +- x11-toolkits/qt6-graphs/pkg-plist | 38 +- x11-toolkits/qt6-quick3d/distinfo | 6 +- x11-toolkits/qt6-quicktimeline/distinfo | 6 +- x11-toolkits/qt6-shadertools/distinfo | 6 +- x11-toolkits/qt6-virtualkeyboard/distinfo | 6 +- 59 files changed, 335 insertions(+), 6434 deletions(-) |
when trying to build qt6-webengine with sndio as audio backend it fails with [ 53% 15533/29113] CXX obj/media/audio/audio/audio_jumbo_7.o FAILED: obj/media/audio/audio/audio_jumbo_7.o /usr/local/libexec/ccache/c++ -MMD -MF obj/media/audio/audio/audio_jumbo_7.o.d -DUSE_AURA=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURC E -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DIS_MEDIA_IMPL -DUSE_SNDIO -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia /config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_SKSURFACE_METHODS -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_GRAPHITE_IMAGE_METHODS -DSK_DISABLE_LEGACY_SKSURFACE_FACTORIES -D SK_DISABLE_LEGACY_SKSURFACE_FLUSH -DSK_DISABLE_LEGACY_SKSURFACE_AS_IMAGE -DSK_DISABLE_LEGACY_SKSURFACE_DISPLAYLIST -DSK_DISABLE_LEGACY_IMAGE_SUBSET_METHODS -DSK_DISABLE_LEGACY_IMAGE_COLORSPACE_METHODS -DSK_DISABLE_LEGACY_IMAG E_RELEASE_PROCS -DSK_DISABLE_LEGACY_GL_BACKEND_SURFACE -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_drive r_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DSK_GRAPHITE -DVK_USE_PLATFORM_XCB_KHR -DUSE_GLX -DUSE_EGL -DLIBYUV_DISABLE_NEON -DUSE_SYSTEM_LIBEVENT=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 - DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DFLAC__NO_DLL -I. -Igen -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium -I../../../. ./../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromi um/third_party/skia -Igen/third_party/skia -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/wuffs/src/release/c -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_ party/vulkan/include -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/vulkan-deps/vulkan-headers/src/include -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/net/third _party/quiche/overrides -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/net/third_party/quiche/src/quiche/common/platform/default -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/net/third_party/quiche/src -Igen/third_party/dawn/include -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/dawn/include -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/khronos -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/gpu -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/libyuv/include -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/icu/source/common -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/icu/source/i18n -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/ipcz/include -I../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/third_party/ced/src -Wall -Wextra -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wno-deprecated-declarations -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-argument -Wno-unknown-attributes -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-predefined-identifier-outside-function -Wno-self-assign -Wno-unknown-pragmas -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -msse3 -no-canonical-prefixes -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wno-redundant-parens -Wno-redundant-parens -DPROTOBUF_ALLOW_DEPRECATED=1 -I/usr/local/include/opus -Wno-parentheses-equality -Wno-tautological-compare -Wno-thread-safety-attributes -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -isystem /usr/local/include -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -c gen/media/audio/audio_jumbo_7.cc -o obj/media/audio/audio/audio_jumbo_7.o In file included from gen/media/audio/audio_jumbo_7.cc:14: ./../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/media/audio/sndio/sndio_output.cc:14:27: error: redefinition of 'kSampleFormat' static const SampleFormat kSampleFormat = kSampleFormatS16; ^ ./../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/media/audio/sndio/sndio_input.cc:13:27: note: previous definition is here static const SampleFormat kSampleFormat = kSampleFormatS16; ^ 1 error generated. Which seems to be an artefact of a jumbo build, as sndio_output.cc and sndio_input.cc define kSampleFormat as static which should work fine if they were seperate compilation units and later linked together, instead of being #included into audio_jumbo_7.cc and be one compilation unit as a result. I can provide the full build log, if need be