Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 950579 - dev-qt/qtwebengine-6.8.2-r1: fails to build on musl gcc, missing #include <cstdint>
Summary: dev-qt/qtwebengine-6.8.2-r1: fails to build on musl gcc, missing #include <cs...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL: https://github.com/chromium/chromium/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-04 15:18 UTC by Anthony Basile
Modified: 2025-03-04 15:47 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch against repo/gentoo.git (fix-musl-gcc-6.8.2.patch,1.43 KB, patch)
2025-03-04 15:20 UTC, Anthony Basile
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Anthony Basile gentoo-dev 2025-03-04 15:18:05 UTC
The following is a cut and paste from the relevant portion of the build log:

FAILED: obj/extensions/browser/browser_sources/browser_sources_jumbo_25.o 
/usr/bin/x86_64-pc-linux-musl-g++ -MMD -MF obj/extensions/browser/browser_sources/browser_sources_jumbo_25.o.d -DUSE_UDEV -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_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -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 -DSK_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_IMAGE_RELEASE_PROCS -DSK_DISABLE_LEGACY_GL_BACKEND_SURFACE -DSK_DISABLE_LEGACY_INIT_DECODERS -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_FLUSH -DSK_DISABLE_LEGACY_GRDIRECTCONTEXT_BOOLS -DSK_DISABLE_LEGACY_GL_GRDIRECTCONTEXT_FACTORIES -DSK_DISABLE_LEGACY_PNG_WRITEBUFFER -DSK_SLUG_DISABLE_LEGACY_DESERIALIZE -DSK_DISABLE_LEGACY_VK_GRDIRECTCONTEXT_FACTORIES -DSK_DEFAULT_TYPEFACE_IS_EMPTY -DSK_DISABLE_LEGACY_DEFAULT_TYPEFACE -DSK_DISABLE_LEGACY_VULKAN_BACKENDSEMAPHORE -DSK_DISABLE_LEGACY_CREATE_CHARACTERIZATION -DSK_DISABLE_LEGACY_FONTMGR_REFDEFAULT -DSK_DISABLE_LEGACY_FONTMGR_FACTORY -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_GRAPHITE -DLIBYUV_DISABLE_NEON -DUSE_GLX -DUSE_EGL -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DFLATBUFFERS_LOCALE_INDEPENDENT=0 -DLEVELDB_PLATFORM_CHROMIUM=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -DWEBRTC_USE_X11 -DLOGGING_INSIDE_WEBRTC -DCRASHPAD_ZLIB_SOURCE_EXTERNAL -DUSE_SYSTEM_ZLIB=1 -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_ENABLE_SANDBOX -DV8_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION -DCPPGC_SLIM_WRITE_BARRIER -I. -Igen -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/net/third_party/quiche/overrides -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/net/third_party/quiche/src/quiche/common/platform/default -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/net/third_party/quiche/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/skia -Igen/third_party/skia -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/wuffs/src/release/c -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/libyuv/include -Igen/third_party/dawn/include -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/dawn/include -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/khronos -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/gpu -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -Igen/net/third_party/quiche/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/re2/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/flatbuffers/src/include -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/flatbuffers/src/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/flatbuffers/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/flatbuffers/generated -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/leveldatabase -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/leveldatabase/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/leveldatabase/src/include -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/ipcz/include -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/ced/src -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/webrtc_overrides -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/webrtc -Igen/third_party/webrtc -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/libwebm/source -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/mesa_headers -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/crashpad/crashpad -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/linux -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/crashpad/crashpad/compat/non_win -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/libaom/source/libaom -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/third_party/libaom/source/config/linux/x64 -I../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/v8/include -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -fno-ident -fno-strict-aliasing -fstack-protector -Wno-unknown-pragmas -Wno-address -Wno-parentheses -Wno-sign-compare -Wno-stringop-overflow -Wno-stringop-overread -Wno-psabi -Wno-multichar -Wno-format-zero-length -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -msse3 -O2 -fdata-sections -ffunction-sections -fno-math-errno -fno-omit-frame-pointer -g0 -fvisibility=hidden -I/usr/include/nss -I/usr/include/nspr -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -Wno-deprecated-copy -Wno-expansion-to-defined -std=gnu++20 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden  -U_GLIBCXX_ASSERTIONS -O2 -pipe -c gen/extensions/browser/browser_sources_jumbo_25.cc -o obj/extensions/browser/browser_sources/browser_sources_jumbo_25.o
In file included from ./../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/extensions/browser/path_util.cc:5,
                 from gen/extensions/browser/browser_sources_jumbo_25.cc:5:
../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/extensions/browser/path_util.h:25:35: error: 'int64_t' does not name a type
   25 |     base::OnceCallback<void(const int64_t)> callback);
      |                                   ^~~~~~~
../../../../../qtwebengine-everywhere-src-6.8.2/src/3rdparty/chromium/extensions/browser/path_util.h:10:1: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
    9 | #include "base/functional/callback_forward.h"
  +++ |+#include <cstdint>
   10 | 


As the log suggests, adding '#include <cstdint>' to path_util.h fixes the issue.  This was tested and fixed on VirtualBox emulating amd64 with musl/gcc (not llvm), but probably affects all arches.


Reproducible: Always
Comment 1 Anthony Basile gentoo-dev 2025-03-04 15:20:20 UTC
Created attachment 920197 [details, diff]
Patch against repo/gentoo.git
Comment 2 Ionen Wolkens gentoo-dev 2025-03-04 15:28:31 UTC
Fixed upstream in $URL, given it's pre-130 that means it's fixed in upcoming Qt6.9.0 too but 6.8.3 will still need the patch.
Comment 3 Larry the Git Cow gentoo-dev 2025-03-04 15:47:18 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3985b22f517b17d7d503f1ebf798d757658dbc16

commit 3985b22f517b17d7d503f1ebf798d757658dbc16
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2025-03-04 15:39:22 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2025-03-04 15:46:04 +0000

    dev-qt/qtwebengine: backport another missing cstdint for gcc+musl
    
    Merging with the other cstdint patch to re-use the description.
    
    Believe 6.9 patchset is missing 1 bit of that patch that I forgot
    about when rebasing it, but will update the patchset for 6.9.0-rc
    later rather than make a separate patch here.
    
    Closes: https://bugs.gentoo.org/950579
    Thanks-to: Anthony G. Basile <blueness@gentoo.org>
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 .../files/qtwebengine-6.8.1-cstdint.patch          | 26 ------------------
 .../files/qtwebengine-6.8.2-cstdint.patch          | 32 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.8.2-r1.ebuild     |  2 +-
 dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild     |  2 +-
 4 files changed, 34 insertions(+), 28 deletions(-)