Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First install in visionOS project fails build with error: Unexpected duplicate tasks #4275

Closed
longda opened this issue Aug 12, 2024 · 6 comments

Comments

@longda
Copy link

longda commented Aug 12, 2024

Platform

visionOS

Environment

Production

Installed

Swift Package Manager

Version

8.33.0

Xcode Version

15.4

Did it work on previous versions?

Unknown, first install

Steps to Reproduce

  1. Install sentry-cocoa package via SPM as outlined here: https://docs.sentry.io/platforms/apple/guides/visionos/#install
  2. After adding sentry-cocoa package, can no longer build with error: Unexpected duplicate tasks

Expected Result

After install of sentry-cocoa package project should build cleanly.

Actual Result

Three errors appear:

  1. Unexpected duplicate tasks
  2. Multiple commands produce ... (appears related to copy commands)
  3. Multiple commands produce ... (appears related to copy commands)

Screenshot (product + project names redacted):

Image

Did not see any related solutions at: https://docs.sentry.io/platforms/apple/guides/visionos/troubleshooting/

Are you willing to submit a PR?

No response

@philipphofmann
Copy link
Member

I get a different error when adding sentry-cocoa via SPM to an empty visionOS project. We have to investigate this and fix it. Thanks for reporting this, @longda. Furthermore, I'm surprised that our CI isn't failing. We should add a check to avoid such issues in the future.

ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
Undefined symbols for architecture arm64:
  "std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const", referenced from:
      vtable for std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>> in Sentry[arm64][33](SentrySamplingProfiler.o)
      vtable for std::__1::__shared_ptr_emplace<sentry::profiling::SamplingProfiler, std::__1::allocator<sentry::profiling::SamplingProfiler>> in Sentry[arm64][163](SentryProfiler.o)

...
Complete Xcode Build Output

ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
Undefined symbols for architecture arm64:
  "std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const", referenced from:
      vtable for std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>> in Sentry[arm64][33](SentrySamplingProfiler.o)
      vtable for std::__1::__shared_ptr_emplace<sentry::profiling::SamplingProfiler, std::__1::allocator<sentry::profiling::SamplingProfiler>> in Sentry[arm64][163](SentryProfiler.o)
  "std::exception::what() const", referenced from:
      vtable for std::__1::bad_function_call in Sentry[arm64][146](SentryBacktrace.o)
  "std::logic_error::logic_error(char const*)", referenced from:
      std::length_error::length_error[abi:v160006](char const*) in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "std::length_error::~length_error()", referenced from:
      std::__1::__throw_length_error[abi:v160006](char const*) in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "std::exception_ptr::~exception_ptr()", referenced from:
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "std::bad_array_new_length::bad_array_new_length()", referenced from:
      std::__throw_bad_array_new_length[abi:v160006]() in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "std::bad_array_new_length::~bad_array_new_length()", referenced from:
      std::__throw_bad_array_new_length[abi:v160006]() in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::resize(unsigned long, char)", referenced from:
      sentry::profiling::ThreadMetadataCache::metadataForThread(sentry::profiling::ThreadHandle const&) in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
      sentry::profiling::ThreadMetadataCache::metadataForThread(sentry::profiling::ThreadHandle const&) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      sentry::profiling::ThreadMetadataCache::metadataForThread(sentry::profiling::ThreadHandle const&) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      sentry::profiling::ThreadMetadataCache::metadataForThread(sentry::profiling::ThreadHandle const&) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      void std::__1::vector<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const, std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>>::__construct_one_at_end[abi:v160006]<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>(sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const&&) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      void std::__1::vector<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const, std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>>::__push_back_slow_path<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>(sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const&&) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      std::__1::reverse_iterator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const*> std::__1::__uninitialized_allocator_move_if_noexcept[abi:v160006]<std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>, std::__1::reverse_iterator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const*>, std::__1::reverse_iterator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const*>, std::__1::reverse_iterator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const*>>(std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>&, std::__1::reverse_iterator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const*>, std::__1::reverse_iterator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const*>, std::__1::reverse_iterator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const*>) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      std::__1::__function::__func<-[SentryProfiler start]::$_0, std::__1::allocator<-[SentryProfiler start]::$_0>, void (sentry::profiling::Backtrace const&)>::operator()(sentry::profiling::Backtrace const&) in Sentry[arm64][163](SentryProfiler.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)", referenced from:
      sentry::profiling::ThreadMetadataCache::metadataForThread(sentry::profiling::ThreadHandle const&) in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "std::__1::__shared_weak_count::__release_weak()", referenced from:
      sentry::profiling::SamplingProfiler::SamplingProfiler(std::__1::function<void (sentry::profiling::Backtrace const&)>, unsigned int) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::~SamplingProfiler() in Sentry[arm64][33](SentrySamplingProfiler.o)
      std::__1::shared_ptr<sentry::profiling::ThreadMetadataCache>::~shared_ptr[abi:v160006]() in Sentry[arm64][33](SentrySamplingProfiler.o)
      -[SentryProfiler start] in Sentry[arm64][163](SentryProfiler.o)
      std::__1::shared_ptr<sentry::profiling::SamplingProfiler>::operator=[abi:v160006](std::__1::shared_ptr<sentry::profiling::SamplingProfiler>&&) in Sentry[arm64][163](SentryProfiler.o)
      void std::__1::shared_ptr<sentry::profiling::SamplingProfiler>::__enable_weak_this[abi:v160006]<sentry::profiling::SamplingProfiler, sentry::profiling::SamplingProfiler, void>(std::__1::enable_shared_from_this<sentry::profiling::SamplingProfiler> const*, sentry::profiling::SamplingProfiler*) in Sentry[arm64][163](SentryProfiler.o)
      void std::__1::shared_ptr<sentry::profiling::SamplingProfiler>::__enable_weak_this[abi:v160006]<sentry::profiling::SamplingProfiler, sentry::profiling::SamplingProfiler, void>(std::__1::enable_shared_from_this<sentry::profiling::SamplingProfiler> const*, sentry::profiling::SamplingProfiler*) in Sentry[arm64][163](SentryProfiler.o)
      ...
  "std::__1::__shared_weak_count::~__shared_weak_count()", referenced from:
      std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>>::~__shared_ptr_emplace() in Sentry[arm64][33](SentrySamplingProfiler.o)
      std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>>::~__shared_ptr_emplace() in Sentry[arm64][33](SentrySamplingProfiler.o)
      -[SentryProfiler start] in Sentry[arm64][163](SentryProfiler.o)
      std::__1::__shared_ptr_emplace<sentry::profiling::SamplingProfiler, std::__1::allocator<sentry::profiling::SamplingProfiler>>::~__shared_ptr_emplace() in Sentry[arm64][163](SentryProfiler.o)
      std::__1::__shared_ptr_emplace<sentry::profiling::SamplingProfiler, std::__1::allocator<sentry::profiling::SamplingProfiler>>::~__shared_ptr_emplace() in Sentry[arm64][163](SentryProfiler.o)
  "std::__1::mutex::lock()", referenced from:
      sentry::profiling::SamplingProfiler::stopSampling() in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::startSampling(std::__1::function<void ()>) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::isSampling() in Sentry[arm64][33](SentrySamplingProfiler.o)
      +[SentryTraceProfiler startWithTracer:] in Sentry[arm64][97](SentryTraceProfiler.o)
      +[SentryTraceProfiler isCurrentlyProfiling] in Sentry[arm64][97](SentryTraceProfiler.o)
      +[SentryTraceProfiler recordMetrics] in Sentry[arm64][97](SentryTraceProfiler.o)
      ___43+[SentryTraceProfiler scheduleTimeoutTimer]_block_invoke in Sentry[arm64][97](SentryTraceProfiler.o)
      ...
  "std::__1::mutex::unlock()", referenced from:
      sentry::profiling::SamplingProfiler::stopSampling() in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::stopSampling() in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::startSampling(std::__1::function<void ()>) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::startSampling(std::__1::function<void ()>) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::isSampling() in Sentry[arm64][33](SentrySamplingProfiler.o)
      +[SentryTraceProfiler startWithTracer:] in Sentry[arm64][97](SentryTraceProfiler.o)
      +[SentryTraceProfiler startWithTracer:] in Sentry[arm64][97](SentryTraceProfiler.o)
      +[SentryTraceProfiler startWithTracer:] in Sentry[arm64][97](SentryTraceProfiler.o)
      ...
  "std::__1::mutex::~mutex()", referenced from:
      sentry::profiling::SamplingProfiler::SamplingProfiler(std::__1::function<void (sentry::profiling::Backtrace const&)>, unsigned int) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::~SamplingProfiler() in Sentry[arm64][33](SentrySamplingProfiler.o)
      __GLOBAL__sub_I_SentryTraceProfiler.mm in Sentry[arm64][97](SentryTraceProfiler.o)
      __GLOBAL__sub_I_SentryContinuousProfiler.mm in Sentry[arm64][112](SentryContinuousProfiler.o)
      __GLOBAL__sub_I_SentryProfiledTracerConcurrency.mm in Sentry[arm64][161](SentryProfiledTracerConcurrency.o)
      -[SentryProfilerState .cxx_destruct] in Sentry[arm64][214](SentryProfilerState.o)
  "std::exception::~exception()", referenced from:
      std::__1::bad_function_call::~bad_function_call() in Sentry[arm64][146](SentryBacktrace.o)
      std::__1::bad_function_call::~bad_function_call() in Sentry[arm64][146](SentryBacktrace.o)
  "std::set_terminate(void (*)())", referenced from:
      setEnabled(bool) in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      setEnabled(bool) in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "std::current_exception()", referenced from:
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "std::terminate()", referenced from:
      ___clang_call_terminate in Sentry[arm64][33](SentrySamplingProfiler.o)
  "typeinfo for std::__1::__shared_weak_count", referenced from:
      typeinfo for std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>> in Sentry[arm64][33](SentrySamplingProfiler.o)
      typeinfo for std::__1::__shared_ptr_emplace<sentry::profiling::SamplingProfiler, std::__1::allocator<sentry::profiling::SamplingProfiler>> in Sentry[arm64][163](SentryProfiler.o)
  "typeinfo for char*", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for std::length_error", referenced from:
      std::__1::__throw_length_error[abi:v160006](char const*) in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "typeinfo for std::bad_array_new_length", referenced from:
      std::__throw_bad_array_new_length[abi:v160006]() in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "typeinfo for std::exception", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      typeinfo for std::__1::bad_function_call in Sentry[arm64][146](SentryBacktrace.o)
  "typeinfo for char", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for double", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for long double", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for float", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for unsigned char", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for int", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for unsigned int", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for long", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for unsigned long", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for short", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for unsigned short", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for long long", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "typeinfo for unsigned long long", referenced from:
      GCC_except_table7 in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "vtable for __cxxabiv1::__class_type_info", referenced from:
      typeinfo for std::__1::__function::__base<void (sentry::profiling::Backtrace const&)> in Sentry[arm64][163](SentryProfiler.o)
      typeinfo for -[SentryProfiler start]::$_0 in Sentry[arm64][163](SentryProfiler.o)
   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for __cxxabiv1::__si_class_type_info", referenced from:
      typeinfo for std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>> in Sentry[arm64][33](SentrySamplingProfiler.o)
      typeinfo for std::__1::bad_function_call in Sentry[arm64][146](SentryBacktrace.o)
      typeinfo for std::__1::__shared_ptr_emplace<sentry::profiling::SamplingProfiler, std::__1::allocator<sentry::profiling::SamplingProfiler>> in Sentry[arm64][163](SentryProfiler.o)
      typeinfo for std::__1::__function::__func<-[SentryProfiler start]::$_0, std::__1::allocator<-[SentryProfiler start]::$_0>, void (sentry::profiling::Backtrace const&)> in Sentry[arm64][163](SentryProfiler.o)
   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for std::length_error", referenced from:
      std::length_error::length_error[abi:v160006](char const*) in Sentry[arm64][47](SentryThreadMetadataCache.o)
   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "operator delete(void*)", referenced from:
      -[SentryTransactionContext getThreadInfo] in Sentry[arm64][30](SentryTransactionContext.o)
      sentry::profiling::SamplingProfiler::startSampling(std::__1::function<void ()>) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::startSampling(std::__1::function<void ()>) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::(anonymous namespace)::deleteParams(void*) in Sentry[arm64][33](SentrySamplingProfiler.o)
      std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>>::~__shared_ptr_emplace() in Sentry[arm64][33](SentrySamplingProfiler.o)
      std::__1::__shared_ptr_emplace<sentry::profiling::ThreadMetadataCache, std::__1::allocator<sentry::profiling::ThreadMetadataCache>>::__on_zero_shared_weak() in Sentry[arm64][33](SentrySamplingProfiler.o)
      std::__1::vector<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const, std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>>::__destroy_vector::operator()[abi:v160006]() in Sentry[arm64][33](SentrySamplingProfiler.o)
      ...
  "operator new(unsigned long)", referenced from:
      sentry::profiling::SamplingProfiler::SamplingProfiler(std::__1::function<void (sentry::profiling::Backtrace const&)>, unsigned int) in Sentry[arm64][33](SentrySamplingProfiler.o)
      sentry::profiling::SamplingProfiler::startSampling(std::__1::function<void ()>) in Sentry[arm64][33](SentrySamplingProfiler.o)
      std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>>::pointer> std::__1::__allocate_at_least[abi:v160006]<std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>>(std::__1::allocator<sentry::profiling::ThreadMetadataCache::ThreadHandleMetadataPair const>&, unsigned long) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      std::__1::__allocation_result<std::__1::allocator_traits<std::__1::allocator<unsigned long>>::pointer> std::__1::__allocate_at_least[abi:v160006]<std::__1::allocator<unsigned long>>(std::__1::allocator<unsigned long>&, unsigned long) in Sentry[arm64][146](SentryBacktrace.o)
      -[SentryProfiler start] in Sentry[arm64][163](SentryProfiler.o)
      std::__1::__function::__func<-[SentryProfiler start]::$_0, std::__1::allocator<-[SentryProfiler start]::$_0>, void (sentry::profiling::Backtrace const&)>::__clone() const in Sentry[arm64][163](SentryProfiler.o)
      sentry::profiling::ThreadHandle::current() in Sentry[arm64][188](SentryThreadHandle.o)
      ...
  "___cxa_allocate_exception", referenced from:
      std::__1::__throw_length_error[abi:v160006](char const*) in Sentry[arm64][47](SentryThreadMetadataCache.o)
      std::__throw_bad_array_new_length[abi:v160006]() in Sentry[arm64][47](SentryThreadMetadataCache.o)
      std::__1::__throw_bad_function_call[abi:v160006]() in Sentry[arm64][146](SentryBacktrace.o)
  "___cxa_begin_catch", referenced from:
      ___clang_call_terminate in Sentry[arm64][33](SentrySamplingProfiler.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      ...
  "___cxa_current_exception_type", referenced from:
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "___cxa_end_catch", referenced from:
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "___cxa_free_exception", referenced from:
      std::__1::__throw_length_error[abi:v160006](char const*) in Sentry[arm64][47](SentryThreadMetadataCache.o)
  "___cxa_rethrow", referenced from:
      CPPExceptionTerminate() in Sentry[arm64][94](SentryCrashMonitor_CPPException.o)
  "___gxx_personality_v0", referenced from:
      /Users/philipp.hofmann/Library/Developer/Xcode/DerivedData/VisionOSSPM-chhkchblzgncmqbvmhzilukspizr/Build/Products/Debug-xrsimulator/Sentry.framework/Sentry[arm64][163](SentryProfiler.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@kahest kahest moved this from Needs Discussion to Backlog in Mobile & Cross Platform SDK Aug 14, 2024
@HaibinWangAe
Copy link

HaibinWangAe commented Sep 4, 2024

Observed the same error while building for iOS.

Turns out you cannot use Sentry and Sentry-Dynamic at the same time. Sentry and Sentry-SwiftUI works fine.
Document should be updated of the SPM changes.

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Sep 4, 2024
@brustolin
Copy link
Contributor

Turns out you cannot use Sentry and Sentry-Dynamic at the same time

You're right, those are the same libraries, but different linking types (static and dynamic).

We will revisit the docs.

Thanks for pointing this out.

@brustolin
Copy link
Contributor

@longda can you confirm that this is also your problem?

@getsantry getsantry bot moved this to Waiting for: Community in GitHub Issues with 👀 3 Sep 5, 2024
@brustolin brustolin moved this from Backlog to Needs More Information in Mobile & Cross Platform SDK Sep 5, 2024
@longda
Copy link
Author

longda commented Sep 5, 2024

@brustolin Yes, that was the issue! Only Sentry-Dynamic worked for me on VisionOS but it does work! Thank you! 🙏

@getsantry getsantry bot moved this from Waiting for: Community to Waiting for: Product Owner in GitHub Issues with 👀 3 Sep 5, 2024
@brustolin
Copy link
Contributor

@longda Thanks for the reply.

@brustolin brustolin closed this as not planned Won't fix, can't repro, duplicate, stale Sep 6, 2024
@github-project-automation github-project-automation bot moved this from Needs More Information to Done in Mobile & Cross Platform SDK Sep 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Archived in project
Development

No branches or pull requests

4 participants