Closed rolfbjarne closed 2 years ago
From @dotnet-issue-labeler[bot] on Sat, 04 Dec 2021 22:48:52 GMT
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.
From @filipnavara on Sun, 05 Dec 2021 03:00:42 GMT
Here's the full list of duplicate symbols from the example: https://gist.github.com/filipnavara/1068e43691ed2a07ffc8af6a16d29553
It looks like the library gets added twice with a different path:
duplicate symbol '_$LT$core..str..lossy..Utf8Lossy$u20$as$u20$core..fmt..Display$GT$::fmt::h8242bb55f849c500' in:
../libokapi_sim.a(core-ff0c4f91f8248401.core.081c50fc-cgu.0.rcgu.o)
/Users/filipnavara/Projects/okapi/example/libokapi_sim.a(core-ff0c4f91f8248401.core.081c50fc-cgu.0.rcgu.o)
That would possibly suggest a problem with the MSBuild scripts in Xamarin.IOS. Here's the MSBuild binlog: msbuild.binlog.zip
The interesting part seems to be this:
and particularly this part:
Tool xcrun execution started with arguments: clang++ -force_load ../libokapi_sim.a -miphonesimulator-version-min=11.2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator15.0.sdk -arch x86_64 -L/usr/local/share/dotnet/packs/Microsoft.iOS.Runtime.iossimulator-x64/15.0.101-preview.10.251/runtimes/iossimulator-x64/native -lxamarin-dotnet-debug -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lSystem.IO.Compression.Native -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lSystem.Native -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lSystem.Net.Security.Native -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lSystem.Security.Cryptography.Native.Apple -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lmono-component-debugger -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lmono-component-diagnostics_tracing -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lmono-component-hot_reload -L/usr/local/share/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.iossimulator-x64/6.0.0/runtimes/iossimulator-x64/native -lmonosgen-2.0 -force_load /Users/filipnavara/Projects/okapi/example/libokapi_sim.a /usr/local/share/dotnet/packs/Microsoft.iOS.Runtime.iossimulator-x64/15.0.101-preview.10.251/runtimes/iossimulator-x64/native/Microsoft.iOS.registrar.a -rpath @executable_path -framework Accelerate -framework Accounts -framework AddressBook -framework AddressBookUI -framework AdSupport -framework ARKit -framework AssetsLibrary -framework AudioToolbox -framework AVFoundation -framework AVKit -framework CallKit -framework CFNetwork -framework CloudKit -framework Contacts -framework ContactsUI -framework CoreAudioKit -framework CoreBluetooth -framework CoreData -framework CoreFoundation -framework CoreGraphics -framework CoreImage -framework CoreLocation -framework CoreMedia -framework CoreMIDI -framework CoreML -framework CoreMotion -framework CoreSpotlight -framework CoreTelephony -framework CoreText -framework CoreVideo -framework DeviceCheck -framework EventKit -framework EventKitUI -framework ExternalAccessory -framework FileProvider -framework FileProviderUI -framework Foundation -framework GameController -framework GameKit -framework GameplayKit -framework GLKit -framework HealthKit -framework HealthKitUI -framework HomeKit -framework iAd -framework IdentityLookup -framework ImageIO -framework Intents -framework IntentsUI -framework JavaScriptCore -framework LocalAuthentication -framework MapKit -framework MediaAccessibility -framework MediaPlayer -framework MediaToolbox -framework Messages -framework MessageUI -framework Metal -framework MetalKit -framework MetalPerformanceShaders -framework ModelIO -framework MultipeerConnectivity -framework NetworkExtension -framework NewsstandKit -framework NotificationCenter -framework OpenGLES -framework PassKit -framework PDFKit -framework Photos -framework PhotosUI -framework PushKit -framework QuartzCore -framework QuickLook -framework ReplayKit -framework SafariServices -framework SceneKit -framework Security -framework Social -framework Speech -framework SpriteKit -framework StoreKit -framework SystemConfiguration -framework Twitter -framework UIKit -framework UserNotifications -framework UserNotificationsUI -framework VideoSubscriberAccount -framework VideoToolbox -framework Vision -framework WatchConnectivity -framework WebKit -weak_framework Accessibility -weak_framework AdServices -weak_framework AppClip -weak_framework AppTrackingTransparency -weak_framework AuthenticationServices -weak_framework AutomaticAssessmentConfiguration -weak_framework BackgroundTasks -weak_framework BusinessChat -weak_framework CarPlay -weak_framework ClassKit -weak_framework CoreHaptics -weak_framework CoreLocationUI -weak_framework IdentityLookupUI -weak_framework LinkPresentation -weak_framework MetricKit -weak_framework MobileCoreServices -weak_framework NaturalLanguage -weak_framework NearbyInteraction -weak_framework Network -weak_framework OSLog -weak_framework PencilKit -weak_framework QuickLookThumbnailing -weak_framework ScreenTime -weak_framework SensorKit -weak_framework SoundAnalysis -weak_framework UniformTypeIdentifiers -weak_framework VisionKit -framework GSS -framework CFNetwork /Users/filipnavara/Projects/okapi/example/IosApp/obj/Debug/net6.0-ios/iossimulator-x64/nativelibraries/main.x86_64.o -o /Users/filipnavara/Projects/okapi/example/IosApp/obj/Debug/net6.0-ios/iossimulator-x64/nativelibraries/IosApp -lcompression -u_okapi_string_free -u_okapi_bytebuffer_free -u_didkey_generate -u_didkey_resolve -u_didcomm_pack -u_didcomm_unpack -u_didcomm_sign -u_didcomm_verify -u_ldproofs_create_proof -u_ldproofs_verify_proof -u_oberon_create_key -u_oberon_create_token -u_oberon_create_proof -u_oberon_verify_proof -u_oberon_blind_token -u_oberon_unblind_token -u_xamarin_CGPoint__VNNormalizedFaceBoundingBoxPointForLandmarkPoint_Vector2_CGRect_nuint_nuint_string -u_xamarin_CGPoint__VNImagePointForFaceLandmarkPoint_Vector2_CGRect_nuint_nuint_string -u_xamarin_release_managed_ref -u_xamarin_set_gchandle_with_flags_safe -u_xamarin_localized_string_format -u_xamarin_localized_string_format_1 -u_xamarin_localized_string_format_2 -u_xamarin_localized_string_format_3 -u_xamarin_localized_string_format_4 -u_xamarin_localized_string_format_5 -u_xamarin_localized_string_format_6 -u_xamarin_localized_string_format_7 -u_xamarin_localized_string_format_8 -u_xamarin_localized_string_format_9 -u_xamarin_init_nsthread -u_xamarin_os_log -u_UIApplicationMain -u_xamarin_switch_gchandle -u_xamarin_mono_object_retain -u_xamarin_find_protocol_wrapper_type -u_xamarin_log -u_xamarin_release_block_on_main_thread -u_xamarin_start_wwan -u_xamarin_get_block_descriptor -u_xamarin_simd__NMatrix4_objc_msgSend -u_xamarin_simd__NMatrix4_objc_msgSendSuper -u_xamarin_simd__NMatrix4_objc_msgSend_stret -u_xamarin_simd__NMatrix4_objc_msgSendSuper_stret -u_xamarin_simd__IntPtr_objc_msgSend_NMatrix4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_NMatrix4 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_NMatrix4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_NMatrix4 -u_xamarin_simd__NVector3_objc_msgSend -u_xamarin_simd__NVector3_objc_msgSendSuper -u_xamarin_simd__NVector3_objc_msgSend_stret -u_xamarin_simd__NVector3_objc_msgSendSuper_stret -u_xamarin_simd__NMatrix3_objc_msgSend -u_xamarin_simd__NMatrix3_objc_msgSendSuper -u_xamarin_simd__NMatrix3_objc_msgSend_stret -u_xamarin_simd__NMatrix3_objc_msgSendSuper_stret -u_xamarin_simd__CGPoint_objc_msgSend_NVector3_nint_CGSize -u_xamarin_simd__CGPoint_objc_msgSendSuper_NVector3_nint_CGSize -u_xamarin_simd__CGPoint_objc_msgSend_stret_NVector3_nint_CGSize -u_xamarin_simd__CGPoint_objc_msgSendSuper_stret_NVector3_nint_CGSize -u_xamarin_simd__NVector3_objc_msgSend_CGPoint_NMatrix4_nint_CGSize -u_xamarin_simd__NVector3_objc_msgSendSuper_CGPoint_NMatrix4_nint_CGSize -u_xamarin_simd__NVector3_objc_msgSend_stret_CGPoint_NMatrix4_nint_CGSize -u_xamarin_simd__NVector3_objc_msgSendSuper_stret_CGPoint_NMatrix4_nint_CGSize -u_xamarin_simd__NMatrix4_objc_msgSend_nint_CGSize_nfloat_nfloat -u_xamarin_simd__NMatrix4_objc_msgSendSuper_nint_CGSize_nfloat_nfloat -u_xamarin_simd__NMatrix4_objc_msgSend_stret_nint_CGSize_nfloat_nfloat -u_xamarin_simd__NMatrix4_objc_msgSendSuper_stret_nint_CGSize_nfloat_nfloat -u_xamarin_simd__NMatrix4_objc_msgSend_nint -u_xamarin_simd__NMatrix4_objc_msgSendSuper_nint -u_xamarin_simd__NMatrix4_objc_msgSend_stret_nint -u_xamarin_simd__NMatrix4_objc_msgSendSuper_stret_nint -u_xamarin_simd__IntPtr_objc_msgSend_NMatrix4_NVector3 -u_xamarin_simd__IntPtr_objc_msgSendSuper_NMatrix4_NVector3 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_NMatrix4_NVector3 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_NMatrix4_NVector3 -u_xamarin_simd__IntPtr_objc_msgSend_NVector3_NVector3_nint_nint -u_xamarin_simd__IntPtr_objc_msgSendSuper_NVector3_NVector3_nint_nint -u_xamarin_simd__NVector3_objc_msgSend_CGPoint_NMatrix4 -u_xamarin_simd__NVector3_objc_msgSendSuper_CGPoint_NMatrix4 -u_xamarin_simd__NVector3_objc_msgSend_stret_CGPoint_NMatrix4 -u_xamarin_simd__NVector3_objc_msgSendSuper_stret_CGPoint_NMatrix4 -u_xamarin_simd__void_objc_msgSend_NMatrix4 -u_xamarin_simd__void_objc_msgSendSuper_NMatrix4 -u_xamarin_simd__void_objc_msgSend_NMatrix4_NVector3_NVector3_IntPtr -u_xamarin_simd__void_objc_msgSendSuper_NMatrix4_NVector3_NVector3_IntPtr -u_xamarin_simd__void_objc_msgSend_NVector3_IntPtr -u_xamarin_simd__void_objc_msgSendSuper_NVector3_IntPtr -u_xamarin_simd__Vector2_objc_msgSend_IntPtr -u_xamarin_simd__Vector2_objc_msgSendSuper_IntPtr -u_xamarin_simd__Vector2_objc_msgSend_stret_IntPtr -u_xamarin_simd__Vector2_objc_msgSendSuper_stret_IntPtr -u_xamarin_simd__NMatrix4_objc_msgSend_IntPtr -u_xamarin_simd__NMatrix4_objc_msgSendSuper_IntPtr -u_xamarin_simd__NMatrix4_objc_msgSend_stret_IntPtr -u_xamarin_simd__NMatrix4_objc_msgSendSuper_stret_IntPtr -u_xamarin_simd__NMatrix4x3_objc_msgSend -u_xamarin_simd__NMatrix4x3_objc_msgSendSuper -u_xamarin_simd__NMatrix4x3_objc_msgSend_stret -u_xamarin_simd__NMatrix4x3_objc_msgSendSuper_stret -u_xamarin_IntPtr_objc_msgSend_IntPtr_exception -u_xamarin_IntPtr_objc_msgSendSuper_IntPtr_exception -u_xamarin_IntPtr_objc_msgSend_IntPtr_IntPtr_nuint_exception -u_xamarin_IntPtr_objc_msgSendSuper_IntPtr_IntPtr_nuint_exception -u_xamarin_IntPtr_objc_msgSend_IntPtr_nint_nint_nint_nuint_exception -u_xamarin_IntPtr_objc_msgSendSuper_IntPtr_nint_nint_nint_nuint_exception -u_xamarin_IntPtr_objc_msgSend_IntPtr_nuint_nint_nuint_exception -u_xamarin_IntPtr_objc_msgSendSuper_IntPtr_nuint_nint_nuint_exception -u_xamarin_simd__Vector2_objc_msgSend -u_xamarin_simd__Vector2_objc_msgSendSuper -u_xamarin_simd__Vector2_objc_msgSend_stret -u_xamarin_simd__Vector2_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_Vector2 -u_xamarin_simd__void_objc_msgSendSuper_Vector2 -u_xamarin_simd__Vector3_objc_msgSend -u_xamarin_simd__Vector3_objc_msgSendSuper -u_xamarin_simd__Vector3_objc_msgSend_stret -u_xamarin_simd__Vector3_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_Vector3 -u_xamarin_simd__void_objc_msgSendSuper_Vector3 -u_xamarin_simd__Matrix3_objc_msgSend -u_xamarin_simd__Matrix3_objc_msgSendSuper -u_xamarin_simd__Matrix3_objc_msgSend_stret -u_xamarin_simd__Matrix3_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_Matrix3 -u_xamarin_simd__void_objc_msgSendSuper_Matrix3 -u_xamarin_simd__void_objc_msgSend_NMatrix3 -u_xamarin_simd__void_objc_msgSendSuper_NMatrix3 -u_xamarin_simd__IntPtr_objc_msgSend_Vector2 -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2 -u_xamarin_simd__IntPtr_objc_msgSend_Vector3 -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3 -u_xamarin_simd__Vector2i_objc_msgSend -u_xamarin_simd__Vector2i_objc_msgSendSuper -u_xamarin_simd__Vector2i_objc_msgSend_stret -u_xamarin_simd__Vector2i_objc_msgSendSuper_stret -u_xamarin_simd__IntPtr_objc_msgSend_Vector2i_int_int_bool -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2i_int_int_bool -u_xamarin_simd__IntPtr_objc_msgSend_Vector2i_int_int_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2i_int_int_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector2i -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2i -u_xamarin_simd__IntPtr_objc_msgSend_float_Vector2_Vector2_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_Vector2_Vector2_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_float_Vector2_Vector2 -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_Vector2_Vector2 -u_xamarin_simd__GKTriangle_objc_msgSend_nuint -u_xamarin_simd__GKTriangle_objc_msgSendSuper_nuint -u_xamarin_simd__GKTriangle_objc_msgSend_stret_nuint -u_xamarin_simd__GKTriangle_objc_msgSendSuper_stret_nuint -u_xamarin_simd__float_objc_msgSend_Vector2 -u_xamarin_simd__float_objc_msgSendSuper_Vector2 -u_xamarin_simd__void_objc_msgSend_Vector3d -u_xamarin_simd__void_objc_msgSendSuper_Vector3d -u_xamarin_simd__Vector2d_objc_msgSend -u_xamarin_simd__Vector2d_objc_msgSendSuper -u_xamarin_simd__Vector2d_objc_msgSend_stret -u_xamarin_simd__Vector2d_objc_msgSendSuper_stret -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Vector2d_Vector2d_Vector2i_bool -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Vector2d_Vector2d_Vector2i_bool -u_xamarin_simd__float_objc_msgSend_Vector2i -u_xamarin_simd__float_objc_msgSendSuper_Vector2i -u_xamarin_simd__void_objc_msgSend_float_Vector2i -u_xamarin_simd__void_objc_msgSendSuper_float_Vector2i -u_xamarin_simd__GKBox_objc_msgSend -u_xamarin_simd__GKBox_objc_msgSendSuper -u_xamarin_simd__GKBox_objc_msgSend_stret -u_xamarin_simd__GKBox_objc_msgSendSuper_stret -u_xamarin_simd__IntPtr_objc_msgSend_GKBox_float -u_xamarin_simd__IntPtr_objc_msgSendSuper_GKBox_float -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Vector3 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Vector3 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_GKBox -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_GKBox -u_xamarin_simd__IntPtr_objc_msgSend_GKBox -u_xamarin_simd__IntPtr_objc_msgSendSuper_GKBox -u_xamarin_simd__Vector2_objc_msgSend_nuint -u_xamarin_simd__Vector2_objc_msgSendSuper_nuint -u_xamarin_simd__Vector2_objc_msgSend_stret_nuint -u_xamarin_simd__Vector2_objc_msgSendSuper_stret_nuint -u_xamarin_simd__Vector3_objc_msgSend_nuint -u_xamarin_simd__Vector3_objc_msgSendSuper_nuint -u_xamarin_simd__Vector3_objc_msgSend_stret_nuint -u_xamarin_simd__Vector3_objc_msgSendSuper_stret_nuint -u_xamarin_simd__IntPtr_objc_msgSend_GKQuad_float -u_xamarin_simd__IntPtr_objc_msgSendSuper_GKQuad_float -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Vector2_exception -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Vector2_exception -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_GKQuad -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_GKQuad -u_xamarin_simd__IntPtr_objc_msgSend_GKQuad -u_xamarin_simd__IntPtr_objc_msgSendSuper_GKQuad -u_xamarin_simd__IntPtr_objc_msgSend_Vector2_Vector2_float_exception -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2_Vector2_float_exception -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Vector2_Vector2_exception -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Vector2_Vector2_exception -u_xamarin_simd__IntPtr_objc_msgSend_Vector2_Vector2_exception -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2_Vector2_exception -u_xamarin_simd__GKQuad_objc_msgSend -u_xamarin_simd__GKQuad_objc_msgSendSuper -u_xamarin_simd__GKQuad_objc_msgSend_stret -u_xamarin_simd__GKQuad_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_IntPtr_Vector2_Vector2_nint -u_xamarin_simd__void_objc_msgSendSuper_IntPtr_Vector2_Vector2_nint -u_xamarin_simd__void_objc_msgSend_IntPtr_Vector2_Vector2 -u_xamarin_simd__void_objc_msgSendSuper_IntPtr_Vector2_Vector2 -u_xamarin_simd__MPSAxisAlignedBoundingBox_objc_msgSend -u_xamarin_simd__MPSAxisAlignedBoundingBox_objc_msgSendSuper -u_xamarin_simd__MPSAxisAlignedBoundingBox_objc_msgSend_stret -u_xamarin_simd__MPSAxisAlignedBoundingBox_objc_msgSendSuper_stret -u_xamarin_simd__MPSImageHistogramInfo_objc_msgSend -u_xamarin_simd__MPSImageHistogramInfo_objc_msgSendSuper -u_xamarin_simd__MPSImageHistogramInfo_objc_msgSend_stret -u_xamarin_simd__MPSImageHistogramInfo_objc_msgSendSuper_stret -u_xamarin_simd__Vector4_objc_msgSend -u_xamarin_simd__Vector4_objc_msgSendSuper -u_xamarin_simd__Vector4_objc_msgSend_stret -u_xamarin_simd__Vector4_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_Vector4 -u_xamarin_simd__void_objc_msgSendSuper_Vector4 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_ref_MPSImageHistogramInfo -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_ref_MPSImageHistogramInfo -u_xamarin_simd__void_objc_msgSend_NMatrix4_Double -u_xamarin_simd__void_objc_msgSendSuper_NMatrix4_Double -u_xamarin_simd__void_objc_msgSend_NMatrix4d_Double -u_xamarin_simd__void_objc_msgSendSuper_NMatrix4d_Double -u_xamarin_simd__NMatrix4_objc_msgSend_Double -u_xamarin_simd__NMatrix4_objc_msgSendSuper_Double -u_xamarin_simd__NMatrix4_objc_msgSend_stret_Double -u_xamarin_simd__NMatrix4_objc_msgSendSuper_stret_Double -u_xamarin_simd__NMatrix4d_objc_msgSend_Double -u_xamarin_simd__NMatrix4d_objc_msgSendSuper_Double -u_xamarin_simd__NMatrix4d_objc_msgSend_stret_Double -u_xamarin_simd__NMatrix4d_objc_msgSendSuper_stret_Double -u_xamarin_simd__void_objc_msgSend_Quaternion_Double -u_xamarin_simd__void_objc_msgSendSuper_Quaternion_Double -u_xamarin_simd__void_objc_msgSend_Quaterniond_Double -u_xamarin_simd__void_objc_msgSendSuper_Quaterniond_Double -u_xamarin_simd__Quaternion_objc_msgSend_Double -u_xamarin_simd__Quaternion_objc_msgSendSuper_Double -u_xamarin_simd__Quaternion_objc_msgSend_stret_Double -u_xamarin_simd__Quaternion_objc_msgSendSuper_stret_Double -u_xamarin_simd__Quaterniond_objc_msgSend_Double -u_xamarin_simd__Quaterniond_objc_msgSendSuper_Double -u_xamarin_simd__Quaterniond_objc_msgSend_stret_Double -u_xamarin_simd__Quaterniond_objc_msgSendSuper_stret_Double -u_xamarin_simd__void_objc_msgSend_Vector2_Double -u_xamarin_simd__void_objc_msgSendSuper_Vector2_Double -u_xamarin_simd__void_objc_msgSend_Vector2d_Double -u_xamarin_simd__void_objc_msgSendSuper_Vector2d_Double -u_xamarin_simd__Vector2_objc_msgSend_Double -u_xamarin_simd__Vector2_objc_msgSendSuper_Double -u_xamarin_simd__Vector2_objc_msgSend_stret_Double -u_xamarin_simd__Vector2_objc_msgSendSuper_stret_Double -u_xamarin_simd__Vector2d_objc_msgSend_Double -u_xamarin_simd__Vector2d_objc_msgSendSuper_Double -u_xamarin_simd__Vector2d_objc_msgSend_stret_Double -u_xamarin_simd__Vector2d_objc_msgSendSuper_stret_Double -u_xamarin_simd__void_objc_msgSend_NVector3_Double -u_xamarin_simd__void_objc_msgSendSuper_NVector3_Double -u_xamarin_simd__void_objc_msgSend_NVector3d_Double -u_xamarin_simd__void_objc_msgSendSuper_NVector3d_Double -u_xamarin_simd__NVector3_objc_msgSend_Double -u_xamarin_simd__NVector3_objc_msgSendSuper_Double -u_xamarin_simd__NVector3_objc_msgSend_stret_Double -u_xamarin_simd__NVector3_objc_msgSendSuper_stret_Double -u_xamarin_simd__NVector3d_objc_msgSend_Double -u_xamarin_simd__NVector3d_objc_msgSendSuper_Double -u_xamarin_simd__NVector3d_objc_msgSend_stret_Double -u_xamarin_simd__NVector3d_objc_msgSendSuper_stret_Double -u_xamarin_simd__void_objc_msgSend_Vector4_Double -u_xamarin_simd__void_objc_msgSendSuper_Vector4_Double -u_xamarin_simd__void_objc_msgSend_Vector4d_Double -u_xamarin_simd__void_objc_msgSendSuper_Vector4d_Double -u_xamarin_simd__Vector4_objc_msgSend_Double -u_xamarin_simd__Vector4_objc_msgSendSuper_Double -u_xamarin_simd__Vector4_objc_msgSend_stret_Double -u_xamarin_simd__Vector4_objc_msgSendSuper_stret_Double -u_xamarin_simd__Vector4d_objc_msgSend_Double -u_xamarin_simd__Vector4d_objc_msgSendSuper_Double -u_xamarin_simd__Vector4d_objc_msgSend_stret_Double -u_xamarin_simd__Vector4d_objc_msgSendSuper_stret_Double -u_xamarin_simd__NMatrix4d_objc_msgSend -u_xamarin_simd__NMatrix4d_objc_msgSendSuper -u_xamarin_simd__NMatrix4d_objc_msgSend_stret -u_xamarin_simd__NMatrix4d_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_NMatrix4d -u_xamarin_simd__void_objc_msgSendSuper_NMatrix4d -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSend -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSendSuper -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSend_stret -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_NVector3 -u_xamarin_simd__void_objc_msgSendSuper_NVector3 -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSend_Double -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSendSuper_Double -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSend_stret_Double -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSendSuper_stret_Double -u_xamarin_simd__Matrix4_objc_msgSend -u_xamarin_simd__Matrix4_objc_msgSendSuper -u_xamarin_simd__Matrix4_objc_msgSend_stret -u_xamarin_simd__Matrix4_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_MDLAxisAlignedBoundingBox_bool -u_xamarin_simd__void_objc_msgSendSuper_MDLAxisAlignedBoundingBox_bool -u_xamarin_simd__void_objc_msgSend_Vector3_Vector3 -u_xamarin_simd__void_objc_msgSendSuper_Vector3_Vector3 -u_xamarin_simd__Vector3_objc_msgSend_Vector2i_Vector2i -u_xamarin_simd__Vector3_objc_msgSendSuper_Vector2i_Vector2i -u_xamarin_simd__Vector3_objc_msgSend_stret_Vector2i_Vector2i -u_xamarin_simd__Vector3_objc_msgSendSuper_stret_Vector2i_Vector2i -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_bool_IntPtr_Vector2i_nint_nuint_nint_bool -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_bool_IntPtr_Vector2i_nint_nuint_nint_bool -u_xamarin_simd__IntPtr_objc_msgSend_float_IntPtr_Vector2i_int_nint_IntPtr_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_IntPtr_Vector2i_int_nint_IntPtr_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_float_float_IntPtr_Vector2i -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_float_IntPtr_Vector2i -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_IntPtr_IntPtr_Vector2i -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_IntPtr_IntPtr_Vector2i -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_IntPtr -u_xamarin_simd__void_objc_msgSend_Matrix4 -u_xamarin_simd__void_objc_msgSendSuper_Matrix4 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_nuint_Vector2 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_nuint_Vector2 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_nuint_Vector3 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_nuint_Vector3 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_nuint_Vector4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_nuint_Vector4 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_nuint_Matrix4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_nuint_Matrix4 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_nuint_NMatrix4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_nuint_NMatrix4 -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_Vector3i_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_Vector3i_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_Vector2i_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_Vector2i_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_Vector2i_bool_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_Vector2i_bool_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_Vector2i_bool_bool_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_Vector2i_bool_bool_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_Vector2i_int_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_Vector2i_int_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_Vector2i_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_Vector2i_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_bool_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_int_UInt32_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_int_UInt32_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_Vector3i_nint_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_Vector3i_nint_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector2_Vector2i_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2_Vector2i_nint_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_Vector3_nuint_nuint_nint_bool_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector3_nuint_nuint_nint_bool_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_float_Vector2_nuint_nuint_nint_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_Vector2_nuint_nuint_nint_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_float_Vector2_nuint_nuint_nuint_nint_bool_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_Vector2_nuint_nuint_nuint_nint_bool_IntPtr -u_xamarin_simd__bool_objc_msgSend_Vector2i_nint_float_IntPtr_IntPtr_IntPtr -u_xamarin_simd__bool_objc_msgSendSuper_Vector2i_nint_float_IntPtr_IntPtr_IntPtr -u_xamarin_simd__bool_objc_msgSend_Vector2i_IntPtr_IntPtr_IntPtr_IntPtr -u_xamarin_simd__bool_objc_msgSendSuper_Vector2i_IntPtr_IntPtr_IntPtr_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_float_IntPtr_Vector2i_nint -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_IntPtr_Vector2i_nint -u_xamarin_simd__IntPtr_objc_msgSend_float_IntPtr_Vector2i_int_nint_bool -u_xamarin_simd__IntPtr_objc_msgSendSuper_float_IntPtr_Vector2i_int_nint_bool -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_nint_Vector2i_float_float_float_float -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_nint_Vector2i_float_float_float_float -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_nint_Vector2i_float_float_float_float_float -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_nint_Vector2i_float_float_float_float_float -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_IntPtr_Vector2i -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_IntPtr_Vector2i -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_IntPtr_Vector2i_float -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_IntPtr_Vector2i_float -u_xamarin_simd__IntPtr_objc_msgSend_Matrix4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_Matrix4 -u_xamarin_simd__IntPtr_objc_msgSend_Matrix4_bool -u_xamarin_simd__IntPtr_objc_msgSendSuper_Matrix4_bool -u_xamarin_simd__IntPtr_objc_msgSend_NMatrix4_bool -u_xamarin_simd__IntPtr_objc_msgSendSuper_NMatrix4_bool -u_xamarin_simd__Vector3_objc_msgSend_Double -u_xamarin_simd__Vector3_objc_msgSendSuper_Double -u_xamarin_simd__Vector3_objc_msgSend_stret_Double -u_xamarin_simd__Vector3_objc_msgSendSuper_stret_Double -u_xamarin_simd__Matrix4_objc_msgSend_Double -u_xamarin_simd__Matrix4_objc_msgSendSuper_Double -u_xamarin_simd__Matrix4_objc_msgSend_stret_Double -u_xamarin_simd__Matrix4_objc_msgSendSuper_stret_Double -u_xamarin_simd__void_objc_msgSend_Vector3_Double -u_xamarin_simd__void_objc_msgSendSuper_Vector3_Double -u_xamarin_simd__void_objc_msgSend_Matrix4_Double -u_xamarin_simd__void_objc_msgSendSuper_Matrix4_Double -u_xamarin_simd__Matrix4_objc_msgSend_IntPtr_Double -u_xamarin_simd__Matrix4_objc_msgSendSuper_IntPtr_Double -u_xamarin_simd__Matrix4_objc_msgSend_stret_IntPtr_Double -u_xamarin_simd__Matrix4_objc_msgSendSuper_stret_IntPtr_Double -u_xamarin_simd__MDLVoxelIndexExtent2_objc_msgSend -u_xamarin_simd__MDLVoxelIndexExtent2_objc_msgSendSuper -u_xamarin_simd__MDLVoxelIndexExtent2_objc_msgSend_stret -u_xamarin_simd__MDLVoxelIndexExtent2_objc_msgSendSuper_stret -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_MDLAxisAlignedBoundingBox_float -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_MDLAxisAlignedBoundingBox_float -u_xamarin_simd__bool_objc_msgSend_Vector4i_bool_bool_bool_bool -u_xamarin_simd__bool_objc_msgSendSuper_Vector4i_bool_bool_bool_bool -u_xamarin_simd__void_objc_msgSend_Vector4i -u_xamarin_simd__void_objc_msgSendSuper_Vector4i -u_xamarin_simd__IntPtr_objc_msgSend_MDLVoxelIndexExtent2 -u_xamarin_simd__IntPtr_objc_msgSendSuper_MDLVoxelIndexExtent2 -u_xamarin_simd__Vector4i_objc_msgSend_Vector3 -u_xamarin_simd__Vector4i_objc_msgSendSuper_Vector3 -u_xamarin_simd__Vector4i_objc_msgSend_stret_Vector3 -u_xamarin_simd__Vector4i_objc_msgSendSuper_stret_Vector3 -u_xamarin_simd__Vector3_objc_msgSend_Vector4i -u_xamarin_simd__Vector3_objc_msgSendSuper_Vector4i -u_xamarin_simd__Vector3_objc_msgSend_stret_Vector4i -u_xamarin_simd__Vector3_objc_msgSendSuper_stret_Vector4i -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSend_Vector4i -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSendSuper_Vector4i -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSend_stret_Vector4i -u_xamarin_simd__MDLAxisAlignedBoundingBox_objc_msgSendSuper_stret_Vector4i -u_xamarin_simd__Quaternion_objc_msgSend -u_xamarin_simd__Quaternion_objc_msgSendSuper -u_xamarin_simd__Quaternion_objc_msgSend_stret -u_xamarin_simd__Quaternion_objc_msgSendSuper_stret -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Quaternion_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Quaternion_IntPtr -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Quaternion -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Quaternion -u_xamarin_simd__IntPtr_objc_msgSend_Vector2d_IntPtr -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2d_IntPtr -u_xamarin_simd__void_objc_msgSend_Vector2d -u_xamarin_simd__void_objc_msgSendSuper_Vector2d -u_xamarin_simd__IntPtr_objc_msgSend_Vector2d_nint -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector2d_nint -u_xamarin_simd__Vector3_objc_msgSend_Vector3 -u_xamarin_simd__Vector3_objc_msgSendSuper_Vector3 -u_xamarin_simd__Vector3_objc_msgSend_stret_Vector3 -u_xamarin_simd__Vector3_objc_msgSendSuper_stret_Vector3 -u_xamarin_simd__IntPtr_objc_msgSend_Vector4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_Vector4 -u_xamarin_vector_float3__Vector4_objc_msgSend -u_xamarin_vector_float3__Vector4_objc_msgSendSuper -u_xamarin_vector_float3__Vector4_objc_msgSend_stret -u_xamarin_vector_float3__Vector4_objc_msgSendSuper_stret -u_xamarin_vector_float3__void_objc_msgSend_Vector4 -u_xamarin_vector_float3__void_objc_msgSendSuper_Vector4 -u_xamarin_simd__void_objc_msgSend_Quaternion -u_xamarin_simd__void_objc_msgSendSuper_Quaternion -u_xamarin_simd__NMatrix2_objc_msgSend -u_xamarin_simd__NMatrix2_objc_msgSendSuper -u_xamarin_simd__NMatrix2_objc_msgSend_stret -u_xamarin_simd__NMatrix2_objc_msgSendSuper_stret -u_xamarin_simd__void_objc_msgSend_NMatrix2 -u_xamarin_simd__void_objc_msgSendSuper_NMatrix2 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Vector4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Vector4 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Matrix2 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Matrix2 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_NMatrix2 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_NMatrix2 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Matrix3 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Matrix3 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_NMatrix3 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_NMatrix3 -u_xamarin_simd__IntPtr_objc_msgSend_IntPtr_Matrix4 -u_xamarin_simd__IntPtr_objc_msgSendSuper_IntPtr_Matrix4 -u_xamarin_simd__Vector2_objc_msgSend_nint -u_xamarin_simd__Vector2_objc_msgSendSuper_nint -u_xamarin_simd__Vector2_objc_msgSend_stret_nint -u_xamarin_simd__Vector2_objc_msgSendSuper_stret_nint -lz -liconv
There are two different arguments passed to clang
:
-force_load ../libokapi_sim.a
and -force_load /Users/filipnavara/Projects/okapi/example/libokapi_sim.a
The second one comes from this part of code:
https://github.com/xamarin/xamarin-macios/blob/8ec686c33382f727d4d0761d57e7fa3bf970e818/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/LinkNativeCodeTaskBase.cs#L128-L133
Notable the path is run through Path.GetFullPath
.
The first one comes from here: https://github.com/xamarin/xamarin-macios/blob/8ec686c33382f727d4d0761d57e7fa3bf970e818/msbuild/Xamarin.MacDev.Tasks.Core/Tasks/LinkNativeCodeTaskBase.cs#L74 which in turns call this code: https://github.com/xamarin/xamarin-macios/blob/8ec686c33382f727d4d0761d57e7fa3bf970e818/msbuild/Xamarin.MacDev.Tasks.Core/LinkerOptions.cs#L42-L46 and the path is not normalized there.
cc @rolfbjarne, can we move this to xamarin-macios issues?
From @filipnavara on Sun, 05 Dec 2021 03:02:08 GMT
As a workaround for now you can modify the NativeReference
like this:
<ItemGroup Condition="$(RuntimeIdentifier) == 'iossimulator-x64'">
<NativeReference Include="$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)\..\libokapi_sim.a'))">
<Kind>Static</Kind>
<ForceLoad>True</ForceLoad>
</NativeReference>
</ItemGroup>
That will ensure the compiler gets both paths in the same form and deduplicates them.
From @tmarkovski on Sun, 05 Dec 2021 13:55:34 GMT
Thanks @filipnavara - that fixed everything! I suppose it's a good practice to use fully resolved paths anyway; this workaround is good enough for us to use in the corresponding .targets
files for now.
From @msftbot[bot] on Mon, 06 Dec 2021 15:53:50 GMT
Tagging subscribers to 'os-ios': @steveisok, @akoeplinger See info in area-owners.md if you want to be subscribed.
Author: | tmarkovski |
---|---|
Assignees: | - |
Labels: | `area-Build-mono`, `os-ios` |
Milestone: | - |
From @steveisok on Mon, 06 Dec 2021 16:08:44 GMT
As @filipnavara mentioned, this does seem like a xamarin-macios issue. @rolfbjarne @dalexsoto can this issue be moved over?
From @tmarkovski on Sat, 04 Dec 2021 22:48:49 GMT
Description
I'm trying to run a basic
dotnet new ios
app with a native library linked. The build fails at target_LinkNativeExecutable
with the errorThe same library works just fine with Xamarin.iOS target using stable VS for Mac. The same library, compiled for MacCatalyst target works well with net6.0-maccatalyst, identical code as ios.
My test projects are in this repo, which also includes the static libraries. https://github.com/trinsic-id/okapi/tree/test-ios/example
Running
dotnet run
in theIosApp
should attempt to run the app for simulator and produce the above error. Running the other two projects (MacCatalystApp
andXamarinIosApp
) succeeds - the native library is linked correctly and invoked on app start.The libraries only support
x64
architectures, as I'm running intel mac. Check withlipo -info <library>.a
Reproduction Steps
Clone this repo at the specified branch
https://github.com/trinsic-id/okapi/tree/test-ios/example
Run
dotnet run
from theIosApp
folderExpected behavior
App should be run and static library linked correctly
Actual behavior
Linker error
Regression?
Yes. The same library works well with Xamarin.IOS target. See project under
XamarionIosApp
in the linked repo.Known Workarounds
No response
Configuration
No response
Other information
No response
Copied from original issue dotnet/runtime#62410