Skip to content

sentry-native -> external/crashpad -> third_party/zlib is out of date #907

Closed

Description

Description

sentry-native has a dependency on crashpad, where crashpad is a fork of the Google crashpad repository. This repository has its own dependencies, including zlib. This repository is pinned in the sentry fork to 13dc246a58e4b72104d35f9b1809af95221ebda7. However, upstream has changes to zlib which are important for supporting Windows ARM64. The current upstream repository has rolled up this dependency to fef58692c1d7bec94c4ed3d030a45a1832a9615d. Note that this is 1 change behind the current ToT for the zlib fork that crashpad uses, but it would be inline with the upstream DEPS file rollup.

When does the problem happen

  • During build
  • During run-time
  • When capturing a hard crash

Environment

  • OS: Windows 11 22H2 22621.2715 X64
  • Compiler: 19.37.32825
  • CMake version and config: 3.26.4-msvc4
cmake -B out -G "Visual Studio 17 2022" -D CMAKE_BUILD_TYPE=RelWithDebInfo -A ARM64 -D CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=10.0.19041.0

Steps To Reproduce

Just configure with the above and then run cmake --build out

Log output

MSBuild version 17.7.2+d6990bcfa for .NET Framework

  crashpad_compat.vcxproj -> S:\SourceCache\getsentry\sentry-native\out\crashpad_build\compat\Debug\crashpad_compat.lib
  adler32.c
  compress.c
  crc32.c
  deflate.c
S:\SourceCache\getsentry\sentry-native\external\crashpad\third_party\zlib\zlib\deflate.c(2226,9): error C2220: the following warning is treated as an error [S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party\zlib\crashpad_zlib.vcxproj]
S:\SourceCache\getsentry\sentry-native\external\crashpad\third_party\zlib\zlib\deflate.c(2226,9): warning C4013: '_mm_crc32_u32' undefined; assuming extern returning int [S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party\zlib\crashpad_zlib.vcxproj]
  gzclose.c
  gzlib.c
  gzread.c
  gzwrite.c
  infback.c
  inffast.c
  inflate.c
  inftrees.c
  trees.c
  uncompr.c
  zutil.c
  crc_folding.c
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\include\emmintrin.h(20,1): fatal  error C1189: #error:  This header is specific to X86, X64, ARM64, and ARM64EC targets [S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party
\zlib\crashpad_zlib.vcxproj]
  fill_window_sse.c
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\include\immintrin.h(15,1): fatal  error C1189: #error:  This header is specific to X86, X64, ARM64, and ARM64EC targets [S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party
\zlib\crashpad_zlib.vcxproj]
  x86.c
S:\SourceCache\getsentry\sentry-native\external\crashpad\third_party\zlib\zlib\x86.c(81,5): error C2220: the following warning is treated as an error [S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party\zlib\crashpad_zlib.vcxproj]
S:\SourceCache\getsentry\sentry-native\external\crashpad\third_party\zlib\zlib\x86.c(81,5): warning C4013: '__cpuid' undefined; assuming extern returning int [S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party\zlib\crashpad_zlib.vcxproj]
  Generating Code...
  mini_chromium.vcxproj -> S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party\mini_chromium\Debug\mini_chromium.lib
  crashpad_getopt.vcxproj -> S:\SourceCache\getsentry\sentry-native\out\crashpad_build\third_party\getopt\Debug\crashpad_getopt.lib
  crashpad_tools.vcxproj -> S:\SourceCache\getsentry\sentry-native\out\crashpad_build\tools\Debug\crashpad_tools.lib
  crashpad_wer.vcxproj -> S:\SourceCache\getsentry\sentry-native\out\crashpad_build\handler\Debug\crashpad_wer.dll
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Type

    No type

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions