getsentry/sentry-capacitor

Unable to build app after upgrade to Xcode 16+

Closed this issue · 2 comments

Environment

    "@sentry/capacitor": "^0.18.0",
    "@sentry/angular": "^7.114.0",

Steps to Reproduce

  1. Upgrade Xcode to V16+ (Problem persists on both 16.0 and 16.1)
  2. Install latest version of @sentry/angular (locked on 7.114.0 because 8.28.0 is not compatible with current sentry-capacitor)
  3. Build iOS app in Xcode

Expected Result

A successful no-error build

Actual Result

The following error is produced when building:

    /Applications/Xcode-16.0.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -ivfsstatcache /Users/vagrant/Library/Developer/Xcode/DerivedData/SDKStatCaches.noindex/iphoneos18.0-22A5342a-ba8130e9f2e6d5b1f763d74fa393f531.sdkstatcache -fmessage-length\=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -fno-color-diagnostics -fmodules-prune-interval\=86400 -fmodules-prune-after\=345600 -fbuild-session-file\=/Users/vagrant/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror\=non-modular-include-in-framework-module -Wno-trigraphs -Wno-missing-field-initializers -Wno-missing-prototypes -Werror\=return-type -Wdocumentation -Wunreachable-code -Werror\=deprecated-objc-isa-usage -Werror\=objc-root-class -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wconditional-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-float-conversion -Wnon-literal-null-conversion -Wobjc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -Wno-implicit-fallthrough -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -Wno-sign-conversion -Winfinite-recursion -Wmove -Wcomma -Wblock-capture-autoreleasing -Wstrict-prototypes -Wrange-loop-analysis -Wno-semicolon-before-method-body -Wunguarded-availability @/Users/vagrant/Library/Developer/Xcode/DerivedData/App-dxfkyhrskqdpdnadxkqnzzkcyqsm/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/Sentry.build/Objects-normal/arm64/82b82416624d2658e5098eb0a28c15c5-common-args.resp -include /Users/vagrant/git/ios/App/Pods/Target\ Support\ Files/Sentry/Sentry-prefix.pch -MMD -MT dependencies -MF /Users/vagrant/Library/Developer/Xcode/DerivedData/App-dxfkyhrskqdpdnadxkqnzzkcyqsm/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/Sentry.build/Objects-normal/arm64/SentryCrashMonitor_CPPException.d --serialize-diagnostics /Users/vagrant/Library/Developer/Xcode/DerivedData/App-dxfkyhrskqdpdnadxkqnzzkcyqsm/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/Sentry.build/Objects-normal/arm64/SentryCrashMonitor_CPPException.dia -c /Users/vagrant/git/ios/App/Pods/Sentry/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_CPPException.cpp -o /Users/vagrant/Library/Developer/Xcode/DerivedData/App-dxfkyhrskqdpdnadxkqnzzkcyqsm/Build/Intermediates.noindex/ArchiveIntermediates/App/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/Sentry.build/Objects-normal/arm64/SentryCrashMonitor_CPPException.o
/Users/vagrant/git/ios/App/Pods/Sentry/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_CPPException.cpp:60:13: error: no type named 'terminate_handler' in namespace 'std'
   60 | static std::terminate_handler g_originalTerminateHandler;
      |        ~~~~~^
/Users/vagrant/git/ios/App/Pods/Sentry/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_CPPException.cpp:207:47: error: no member named 'set_terminate' in namespace 'std'
  207 |             g_originalTerminateHandler = std::set_terminate(CPPExceptionTerminate);
      |                                          ~~~~~^
/Users/vagrant/git/ios/App/Pods/Sentry/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_CPPException.cpp:209:18: error: no type named 'set_terminate' in namespace 'std'
  209 |             std::set_terminate(g_originalTerminateHandler);
      |             ~~~~~^
3 errors generated.

The full build log is attached. I am quite sure this issue is already fixed by the sentry-cocoa repository (getsentry/sentry-cocoa#4050) and at this point it is just a matter of updating this repository and/or the angular repository.

raw-xcodebuild-output2.log

Hi, could you check if version 0.19 fixed your issue?

Version 0.19.0 seems to have solved the issue!