After latest update on rawhide (12.2-7 --> 12.99.1) makes qt compile impossible Log: [37/16303] /usr/bin/g++ -MMD -MF obj/device/gamepad/public/cpp/switches/gamepad_switches.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/device/gamepad/public/cpp/gamepad_switches.cc -o obj/device/gamepad/public/cpp/switches/gamepad_switches.o [38/16303] /usr/bin/g++ -MMD -MF obj/crypto/crypto/secure_util.o.d -DCRYPTO_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -I../../3rdparty/chromium/third_party/boringssl/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -I/usr/include/nss3 -I/usr/include/nspr4 -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/crypto/secure_util.cc -o obj/crypto/crypto/secure_util.o [39/16303] /usr/bin/g++ -MMD -MF obj/media/audio/libpulse_stubs/pulse_stubs.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen/media/audio -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c gen/media/audio/pulse/pulse_stubs.cc -o obj/media/audio/libpulse_stubs/pulse_stubs.o FAILED: obj/media/audio/libpulse_stubs/pulse_stubs.o /usr/bin/g++ -MMD -MF obj/media/audio/libpulse_stubs/pulse_stubs.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen/media/audio -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c gen/media/audio/pulse/pulse_stubs.cc -o obj/media/audio/libpulse_stubs/pulse_stubs.o gen/media/audio/pulse/pulse_stubs.cc:155:27: error: conflicting declaration of C function ‘pa_context_state_t pa_context_get_state(pa_context*)’ 155 | extern pa_context_state_t pa_context_get_state(pa_context* c) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/pulseaudio.h:29, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/context.h:199:20: note: previous declaration ‘pa_context_state_t pa_context_get_state(const pa_context*)’ 199 | pa_context_state_t pa_context_get_state(const pa_context *c); | ^~~~~~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:171:29: error: conflicting declaration of C function ‘pa_operation_state_t pa_operation_get_state(pa_operation*)’ 171 | extern pa_operation_state_t pa_operation_get_state(pa_operation* o) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/context.h:28, from /usr/include/pulse/pulseaudio.h:29, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/operation.h:52:22: note: previous declaration ‘pa_operation_state_t pa_operation_get_state(const pa_operation*)’ 52 | pa_operation_state_t pa_operation_get_state(const pa_operation *o); | ^~~~~~~~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:211:17: error: conflicting declaration of C function ‘uint32_t pa_stream_get_device_index(pa_stream*)’ 211 | extern uint32_t pa_stream_get_device_index(pa_stream* s) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/pulseaudio.h:30, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/stream.h:366:10: note: previous declaration ‘uint32_t pa_stream_get_device_index(const pa_stream*)’ 366 | uint32_t pa_stream_get_device_index(const pa_stream *s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:219:26: error: conflicting declaration of C function ‘pa_stream_state_t pa_stream_get_state(pa_stream*)’ 219 | extern pa_stream_state_t pa_stream_get_state(pa_stream* p) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/pulseaudio.h:30, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/stream.h:345:19: note: previous declaration ‘pa_stream_state_t pa_stream_get_state(const pa_stream*)’ 345 | pa_stream_state_t pa_stream_get_state(const pa_stream *p); | ^~~~~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:235:12: error: conflicting declaration of C function ‘int pa_proplist_contains(pa_proplist*, const char*)’ 235 | extern int pa_proplist_contains(pa_proplist* p, const char* key) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/format.h:27, from /usr/include/pulse/pulseaudio.h:27, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/proplist.h:390:5: note: previous declaration ‘int pa_proplist_contains(const pa_proplist*, const char*)’ 390 | int pa_proplist_contains(const pa_proplist *p, const char *key); | ^~~~~~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:243:20: error: conflicting declaration of C function ‘const char* pa_proplist_gets(pa_proplist*, const char*)’ 243 | extern const char* pa_proplist_gets(pa_proplist* p, const char* key) __attribute__((weak)); | ^~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/format.h:27, from /usr/include/pulse/pulseaudio.h:27, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/proplist.h:314:13: note: previous declaration ‘const char* pa_proplist_gets(const pa_proplist*, const char*)’ 314 | const char *pa_proplist_gets(const pa_proplist *p, const char *key); | ^~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:251:15: error: conflicting declaration of C function ‘size_t pa_stream_readable_size(pa_stream*)’ 251 | extern size_t pa_stream_readable_size(pa_stream *p) __attribute__((weak)); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/pulseaudio.h:30, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/stream.h:574:8: note: previous declaration ‘size_t pa_stream_readable_size(const pa_stream*)’ 574 | size_t pa_stream_readable_size(const pa_stream *p); | ^~~~~~~~~~~~~~~~~~~~~~~ gen/media/audio/pulse/pulse_stubs.cc:279:12: error: conflicting declaration of C function ‘int pa_context_errno(pa_context*)’ 279 | extern int pa_context_errno(pa_context *c) __attribute__((weak)); | ^~~~~~~~~~~~~~~~ In file included from /usr/include/pulse/pulseaudio.h:29, from gen/media/audio/pulse/pulse_stubs.cc:16: /usr/include/pulse/context.h:193:5: note: previous declaration ‘int pa_context_errno(const pa_context*)’ 193 | int pa_context_errno(const pa_context *c); | ^~~~~~~~~~~~~~~~ [40/16303] /usr/bin/g++ -MMD -MF obj/device/udev_linux/udev_linux/udev.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/device/udev_linux/udev.cc -o obj/device/udev_linux/udev_linux/udev.o [41/16303] /usr/bin/g++ -MMD -MF obj/components/tracing/startup_tracing/trace_to_console.o.d -DTRACING_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/components/tracing/common/trace_to_console.cc -o obj/components/tracing/startup_tracing/trace_to_console.o [42/16303] /usr/bin/g++ -MMD -MF obj/crypto/crypto/secure_hash.o.d -DCRYPTO_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -I../../3rdparty/chromium/third_party/boringssl/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -I/usr/include/nss3 -I/usr/include/nspr4 -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/crypto/secure_hash.cc -o obj/crypto/crypto/secure_hash.o [43/16303] /usr/bin/g++ -MMD -MF obj/components/user_prefs/user_prefs/user_prefs.o.d -DUSER_PREFS_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/components/user_prefs/user_prefs.cc -o obj/components/user_prefs/user_prefs/user_prefs.o [44/16303] /usr/bin/g++ -MMD -MF obj/mojo/core/impl_for_embedder/broker_host.o.d -DMOJO_SYSTEM_IMPL_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -I../../3rdparty/chromium/third_party/boringssl/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/mojo/core/broker_host.cc -o obj/mojo/core/impl_for_embedder/broker_host.o [45/16303] /usr/bin/g++ -MMD -MF obj/components/tracing/startup_tracing/trace_startup_config.o.d -DTRACING_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/components/tracing/common/trace_startup_config.cc -o obj/components/tracing/startup_tracing/trace_startup_config.o [46/16303] /usr/bin/g++ -MMD -MF obj/crypto/crypto/hmac.o.d -DCRYPTO_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -I../../3rdparty/chromium/third_party/boringssl/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -I/usr/include/nss3 -I/usr/include/nspr4 -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/crypto/hmac.cc -o obj/crypto/crypto/hmac.o [47/16303] /usr/bin/g++ -MMD -MF obj/components/tracing/startup_tracing/trace_startup.o.d -DTRACING_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/components/tracing/common/trace_startup.cc -o obj/components/tracing/startup_tracing/trace_startup.o [48/16303] /usr/bin/g++ -MMD -MF obj/mojo/core/impl_for_embedder/channel_posix.o.d -DMOJO_SYSTEM_IMPL_IMPLEMENTATION -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DCHROMIUM_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../../3rdparty/chromium -Igen -I../../3rdparty/chromium/third_party/boringssl/src/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -m64 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O0 -fno-omit-frame-pointer -g2 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/mojo/core/channel_posix.cc -o obj/mojo/core/impl_for_embedder/channel_posix.o ninja: build stopped: subcommand failed. gmake[4]: *** [Makefile.gn_run:609: run_ninja] Error 1 gmake[4]: Leaving directory '/home/kde-dev/kde/src/qt5/qtwebengine/src/core' gmake[3]: *** [Makefile:82: sub-gn_run-pro-make_first] Error 2 gmake[3]: Leaving directory '/home/kde-dev/kde/src/qt5/qtwebengine/src/core' gmake[2]: *** [Makefile:78: sub-core-make_first] Error 2 gmake[2]: Leaving directory '/home/kde-dev/kde/src/qt5/qtwebengine/src' gmake[1]: *** [Makefile:49: sub-src-make_first] Error 2 gmake[1]: Leaving directory '/home/kde-dev/kde/src/qt5/qtwebengine' gmake: *** [Makefile:1035: module-qtwebengine-make_first] Error 2
Bug report done on both upstreams ( QT and pulseaudio ) : qt : https://bugreports.qt.io/browse/QTBUG-77037 pulseaudio : https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707 on qt bug report there is a comment about solution : Kirill Burtsev added a comment - 6 minutes ago gn_args += link_pulseaudio fixes the issue for me, but in this case pulseaudio is used in a different manner: direct linking instead of dlopen on library with stub with function signatures (event then pulse/pulseaudio.h is still included in stubs). Why dynamic load and symbols resolution are the default in chromium?
Appears the context here is limited to qtwebengine component, adjusting summary to match
Per upstream bug, "Maybe one relatively painless solution would be to import the old (pulse) headers into the Qt source tree. Their reimplementation could then use those old headers, and they could handle header updates on their own schedule." we could also implement that workaround in qt5-qtwebengine packaging. I'll see how much effort that will be.
triaging to qt5-qtwebengine component, to work on suggested workaround of using bundled pulse headers
Using bundled headers for a system library strikes me as a bad idea, as mismatches between the header and the library can easily lead to startup-time (runtime linker) or runtime errors. If you ask me, I would vote for just using the link_pulseaudio option instead, if that also fixes the issue. I don't see the point of dlopening it.
In fact, QtWebEngine has already been hit by such a header vs. library mismatch in the past. Remember the re2 saga, where the unbundling was not fully working and we had to actually copy the system headers over the bundled ones manually?
Out of curiosity, is there a reason for distros to not directly link? (I can see why a standalone build would dlopen() as you don't know what's available on the system)
Some people hate PulseAudio with a vengeance and don't want to install even the libraries. But there are other packages linked against the library too, so it is doubtful that they would be able to avoid it anyway. I think we should just link PulseAudio instead of dlopening it.
As far as I'm aware, the PA linking/dlopen issue isn't generally a distro question, that's simply the qtwebengine (and chromium?) upstream default behavior. In fact, until Kevin brought it up, I was not aware of this. That said, from a fedora/distro perspective, linking is generally preferable to dlopen (for several reason). I'll look into implementing that.
Fwiw, doing some local/scratch-build testing, appears the header hack/workaround is still required when using CONFIG+=link_pulseaudio. not sure if that's expected or not.
Apparently adding CONFIG+=link_pulseaudio is not sufficient to get it to link, at least I'm not seeing any new libpulse dependencies in the generated rpms, https://koji.fedoraproject.org/koji/taskinfo?taskID=36960346
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to '31'.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to 31.
Regardless, build succeeded, so FTBFS issue is resolved (closing)