Closed cnagy closed 3 years ago
Your build appears to be missing the necessary frameworks, for example, some of the symbols are from network and video toolbox frameworks. However, it is strange because the messenger XCode project already includes those frameworks.
I'm trying to include only the framework in my project, but I didn't found anywhere the required dependencies. Will try to solve the errors, by including them one-by-one from the Messenger app. Thanks for the reply.
Ok, added all the main dependencies and all the errors are gone, except this one. Can you tell me from which framework is coming from?
Undefined symbols for architecture arm64: "_check_session_description_compliance", referenced from: l54525 in WebRTC(arm64.o)
Can you please mention how you resolved this @cnagy?
We are able to run Mesibo on device but not on simulator. And we have followed Mesibo's guidance on initializing LFS.
We are using the latest version for messenger-app-ios
and cloud-hosted Mesibo backend (not our self-hosted one)
We are getting this error building for iOS Simulator, but linking in object file built for iOS
ld: in /Users/macos_user/some_mesibo_project/Pods/mesibo/mesibo.framework/mesibo(libsom_mesibo_arm64.o), building for iOS Simulator, but linking in object file built for iOS, file ‘/Users/macos_user/some_mesibo_project/Pods/mesibo/mesibo.framework/mesibo’
In /Users/macos_user/some_mesibo_project/Pods/mesibo/mesibo.framework/mesibo(libsom_mesibo_arm64.o), building for iOS Simulator, but linking in object file built for iOS, file ‘/Users/macos_user/some_mesibo_project/Pods/mesibo/mesibo.framework/mesibo’
Exclude arm64 from the simulator target. Go to build settings, add "Any iOS Simulator SDK" with value arm64 inside Excluded Architecture.
What worked is:
Thanks for the suggestion on excluding arm64 arch, we did try that but unfortunately it did not work.
To give you more context, we are testing on:
We already run terminal in Rosetta (with pod install
and other commands) but this alone wasn't enough. We had to run Xcode through Rosetta mode.
I believe this means you have to re-compile your frameworks considering the new Apple's M1 Architecture in MacBook Pro M1 2020 and others.
Thank you for your suggestion. I will file an internal ticket to look into.
On a side note, video calls may not work on the simulator. You will have to use a real device.
Hey Mesibo team,
Thanks for filing the internal ticket. And thanks for your note on video calls/conferencing.
Hey @mesibo team,
Do we have any news regarding the internal ticket for Apple Silicon architecture? (Apple M1)
I believe this means you have to re-compile your frameworks considering the new Apple's M1 Architecture in MacBook Pro M1 2020 and others.
Also it's worth noting stable Xcode 13
release is officially out!
It will take some time but it's on our list. In the meantime, we recommend updating the API and conferencing code if you are using it.
Ok, added all the main dependencies and all the errors are gone, except this one. Can you tell me from which framework is coming from?
Undefined symbols for architecture arm64: "_check_session_description_compliance", referenced from: l54525 in WebRTC(arm64.o)
Hi, have you solved this problem? Which library is missing?
Ok, added all the main dependencies and all the errors are gone, except this one. Can you tell me from which framework is coming from?
Undefined symbols for architecture arm64: "_check_session_description_compliance", referenced from: l54525 in WebRTC(arm64.o)
Hi, have you solved this problem? Which library is missing?
_check_session_description_compliance is defined in the mesibo framework.
https://github.com/mesibo/mesiboframeworks/tree/master/mesibo.framework
Followed the instructions, but I have undefined symbols for arm64:
$ mkdir Messenger $ cd Messenger $ git lfs install $ git clone https://github.com/mesibo/messenger-app-ios.git
Undefined symbols for architecture arm64: "_nw_path_monitor_cancel", referenced from: l49235 in WebRTC(arm64.o) "_nw_interface_get_name", referenced from: l49232 in WebRTC(arm64.o) "_nw_interface_get_type", referenced from: l49232 in WebRTC(arm64.o) "_nw_path_get_status", referenced from: l49231 in WebRTC(arm64.o) "_nw_path_monitor_create", referenced from: l49230 in WebRTC(arm64.o) "_nw_path_monitor_set_update_handler", referenced from: l49230 in WebRTC(arm64.o) "_nw_path_monitor_set_queue", referenced from: l49230 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_AverageBitRate", referenced from: l6191 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_ExpectedFrameRate", referenced from: l6191 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_ProfileLevel", referenced from: l6187 in WebRTC(arm64.o) "_nw_path_enumerate_interfaces", referenced from: l49231 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_AllowFrameReordering", referenced from: l6187 in WebRTC(arm64.o) "_VTCompressionSessionCreate", referenced from: l6185 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_AutoLevel", referenced from: l6171 in WebRTC(arm64.o) "_nw_path_monitor_start", referenced from: l49230 in WebRTC(arm64.o) "_VTSessionSetProperty", referenced from: l6150 in WebRTC(arm64.o) l6191 in WebRTC(arm64.o) l44640 in WebRTC(arm64.o) l44641 in WebRTC(arm64.o) l44642 in WebRTC(arm64.o) l44643 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_4_1", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_4_0", referenced from: l6171 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_DataRateLimits", referenced from: l6191 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_MaxKeyFrameInterval", referenced from: l6187 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_4_0", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_4_0", referenced from: l6171 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_RealTime", referenced from: l6187 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_3_1", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_3_0", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_5_0", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_3_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_3_1", referenced from: l6171 in WebRTC(arm64.o) "_VTCompressionSessionEncodeFrame", referenced from: l6174 in WebRTC(arm64.o) "_check_session_description_compliance", referenced from: l54525 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_5_1", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_3_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_4_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_4_1", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_5_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTCompressionPropertyKey_MaxKeyFrameIntervalDuration", referenced from: l6187 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_4_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_3_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_5_1", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_5_0", referenced from: l6171 in WebRTC(arm64.o) "_VTDecompressionSessionInvalidate", referenced from: l6151 in WebRTC(arm64.o) "_kVTDecompressionPropertyKey_RealTime", referenced from: l6150 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_5_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_5_1", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_High_5_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_AutoLevel", referenced from: l6171 in WebRTC(arm64.o) "_VTCompressionSessionGetPixelBufferPool", referenced from: l6185 in WebRTC(arm64.o) "_VTDecompressionSessionCreate", referenced from: l6148 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_AutoLevel", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_5_0", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_3_1", referenced from: l6171 in WebRTC(arm64.o) "_VTDecompressionSessionWaitForAsynchronousFrames", referenced from: l6151 in WebRTC(arm64.o) "_VTDecompressionSessionDecodeFrame", referenced from: l6164 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_4_2", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_4_1", referenced from: l6171 in WebRTC(arm64.o) "_VTCompressionSessionInvalidate", referenced from: l6188 in WebRTC(arm64.o) "_kVTEncodeFrameOptionKey_ForceKeyFrame", referenced from: l6174 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Main_3_0", referenced from: l6171 in WebRTC(arm64.o) "_kVTProfileLevel_H264_Baseline_3_0", referenced from: l6171 in WebRTC(arm64.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)