Linux x v9 builds fail; crashpad compile error
Platform
Flutter Desktop Linux
Obfuscation
Disabled
Debug Info
Disabled
Doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.32.4, on Ubuntu 20.04.6 LTS 5.15.0-1060-gcp, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
! Unable to access driver information using 'eglinfo'.
It is likely available from your distribution (e.g.: apt install mesa-utils)
[✓] Android Studio (version 2022.3)
[✓] Connected device (2 available)
[✓] Network resources
• No issues found!
Version
9.0.0
Steps to Reproduce
- Upgrade Sentry package to 9 via
flutter pub upgrade --major-versions - Build Linux version of my app (private repo)
Expected Result
Build succeeds.
Actual Result
[ +3 ms] /snap/********/current/usr/bin/clang++ -DAPPLICATION_ID=\"com.********.********\" -DCRASHPAD_FLOCK_ALWAYS_SUPPORTED=1 -DCRASHPAD_LSS_SOURCE_EMBEDDED -DCRASHPAD_ZLIB_SOURCE_SYSTEM -DZLIB_CONST -I_deps/sentry-native-src/external/crashpad -I_deps/sentry-native-src/external/crashpad/third_party/mini_chromium/mini_chromium -I_deps/sentry-native-src/external/crashpad/compat/non_win -I_deps/sentry-native-src/external/crashpad/compat/linux -I_deps/sentry-native-src/external/crashpad/snapshot -I_deps/sentry-native-src/external/crashpad/third_party/mini_chromium -O3 -DNDEBUG -fPIC -std=gnu++17 -MD -MT _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_extensions.cc.o -MF _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_extensions.cc.o.d -o _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_extensions.cc.o -c _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.cc
[ ] In file included from _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.cc:15:
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:127:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpUTF8String {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:127:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:146:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpByteArray {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:146:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:284:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpRVAList {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:284:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:293:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpSimpleStringDictionaryEntry {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:293:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:304:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpSimpleStringDictionary {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:304:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:313:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpAnnotation {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:313:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:330:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpAnnotationList {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:330:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:353:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpModuleCrashpadInfo {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:353:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:403:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpModuleCrashpadInfoLink {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:403:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:430:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpModuleCrashpadInfoList {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:430:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:449:1: error: declaration of anonymous struct must be a definition
[ ] struct ALIGNAS(4) PACKED MinidumpCrashpadInfo {
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.h:449:1: warning: declaration does not declare anything [-Wmissing-declarations]
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.cc:19:20: error: use of undeclared identifier 'MinidumpModuleCrashpadInfo'
[ ] constexpr uint32_t MinidumpModuleCrashpadInfo::kVersion;
[ ] ^
[ ] _deps/sentry-native-src/external/crashpad/minidump/minidump_extensions.cc:20:20: error: use of undeclared identifier 'MinidumpCrashpadInfo'
[ ] constexpr uint32_t MinidumpCrashpadInfo::kVersion;
[ ] ^
[ ] 11 warnings and 13 errors generated.
[ ] [5/548] Building CXX object _deps/sentry-native-build/crashpad_build/util/CMakeFiles/crashpad_util.dir/file/output_stream_file_writer.cc.o
[ +52 ms] [6/548] Building CXX object _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_byte_array_writer.cc.o
[ ] FAILED: _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_byte_array_writer.cc.o
[ +3 ms] /snap/********/current/usr/bin/clang++ -DAPPLICATION_ID=\"com.********.********\" -DCRASHPAD_FLOCK_ALWAYS_SUPPORTED=1 -DCRASHPAD_LSS_SOURCE_EMBEDDED -DCRASHPAD_ZLIB_SOURCE_SYSTEM -DZLIB_CONST -I_deps/sentry-native-src/external/crashpad -I_deps/sentry-native-src/external/crashpad/third_party/mini_chromium/mini_chromium -I_deps/sentry-native-src/external/crashpad/compat/non_win -I_deps/sentry-native-src/external/crashpad/compat/linux -I_deps/sentry-native-src/external/crashpad/snapshot -I_deps/sentry-native-src/external/crashpad/third_party/mini_chromium -O3 -DNDEBUG -fPIC -std=gnu++17 -MD -MT _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_byte_array_writer.cc.o -MF _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_byte_array_writer.cc.o.d -o _deps/sentry-native-build/crashpad_build/minidump/CMakeFiles/crashpad_minidump.dir/minidump_byte_array_writer.cc.o -c _deps/sentry-native-src/external/crashpad/minidump/minidump_byte_array_writer.cc
Are you willing to submit a PR?
No
hi this seems to be a crashpad issue, we'll have a look
Can you try setting the SENTRY_NATIVE_BACKEND environment variable to none which should disable crashpad for now and allow compilation
@jpohhhh what clang version are you using? it may be an outdated toolchain problem
Thank you!! --- worked like a charm :)
--- and CI log says Clang 10.0.0 (from 2020!?).
I looked around CHANGELOG a bit, and noticed this was flagged in < 9 already.
Of course, it depends on how y'all feel internally, but my $0.02: this sounds more like my CI provider's problem than Sentry's. I'm a bit stunned I've been using a 5 year old Clang. (though, I'm hardly a Linux expert)
I use CodeMagic for CI, which is relatively popular for Flutter CI, so it might come up again.
Again, just my $0.02, thoughts from how I would have realized quicker what was up: in the migration guide and/or README, note issues with CI's clang versions, and also change the recommended value for "SENTRY_NATIVE_BACKEND" from "an empty string" to "none" (CI silently rejected empty env-vars)
Thank you!! --- worked like a charm :)
Glad to hear! But I'm confused which method made it work for you: updating clang or setting the backend to none?
in the migration guide and/or README, note issues with CI's clang versions, and also change the recommended value for "SENTRY_NATIVE_BACKEND" from "an empty string" to "none" (CI silently rejected empty env-vars)
thx for the feedback, will update the docs to make this clearer :)
Ah, good q: I used the env var set to "none"
On Wed, Jun 18, 2025, 2:58 PM Giancarlo Buenaflor @.***> wrote:
buenaflor left a comment (getsentry/sentry-dart#2998) https://github.com/getsentry/sentry-dart/issues/2998#issuecomment-2985383817
Thank you!! --- worked like a charm :)
Glad to hear! But I'm confused which method you used now: updating your toolchain or setting the backend to none?
in the migration guide and/or README, note issues with CI's clang versions, and also change the recommended value for "SENTRY_NATIVE_BACKEND" from "an empty string" to "none" (CI silently rejected empty env-vars)
thx for the feedback, will update the docs to make this clearer :)
— Reply to this email directly, view it on GitHub https://github.com/getsentry/sentry-dart/issues/2998#issuecomment-2985383817, or unsubscribe https://github.com/notifications/unsubscribe-auth/APWVASL2PZCQYCRAV7WTLSD3EGZGLAVCNFSM6AAAAAB7TYTEVSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSOBVGM4DGOBRG4 . You are receiving this because you were mentioned.Message ID: @.***>
@JoshuaMoelans just to be safe, is there a recommended clang version for compiling crashpad on linux? afaik sentry-native uses clang 19 for tests
should clang 10 also work theoretically? I haven't seen any minimum versions on the docs
After some investigation, it seems like this compile error stems from clang versions <clang-13; when trying to compile this on clang-10 via Compiler Explorer we get the same warning, but changing it to clang-13 works.
@jpohhhh in case you still want to capture native crashes, you would have to update your clang version to 13 or above.
👍 I'll add some docs for that
Updated the docs to include min clang version