dotnet / linker

387 stars 134 forks source link

Got an error which asked me to report it here #3223

Open RobTF opened 11 months ago

RobTF commented 11 months ago

Suddenly getting this error and the iOS version of our app doesn't build anymore - thanks.

ObjCRuntime.Runtime.Arch.IsSimulator false --enable-serialization-discovery
1>C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\16.4.7067\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(364,3): error IL1012: IL Trimmer has encountered an unexpected error. Please report the issue at https://github.com/dotnet/linker/issues
1>Fatal error in IL Linker
1>Unhandled exception. System.IO.FileNotFoundException: Could not find file '/Users/rob/Library/Caches/Xamarin/mtbs/builds/MyApp/ebe8cfe6be7c166a7a4c5931b9446634ecc01d0fb9573fee50f270d5576cd4ac/C:/Program Files/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.ios-arm64/7.0.9/runtimes/ios-arm64/lib/net7.0/System.Numerics.dll'.
1>File name: '/Users/rob/Library/Caches/Xamarin/mtbs/builds/MyApp/ebe8cfe6be7c166a7a4c5931b9446634ecc01d0fb9573fee50f270d5576cd4ac/C:/Program Files/dotnet/packs/Microsoft.NETCore.App.Runtime.Mono.ios-arm64/7.0.9/runtimes/ios-arm64/lib/net7.0/System.Numerics.dll'
1>   at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirError)
1>   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode, Func`4 createOpenException)
1>   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, UnixFileMode openPermissions, Int64& fileLength, UnixFileMode& filePermissions, Func`4 createOpenException)
1>   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
1>   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
1>   at Mono.Linker.AssemblyResolver.GetAssembly(String file)
1>   at Mono.Linker.AssemblyResolver.ResolveFromReferences(AssemblyNameReference name)
1>   at Mono.Linker.AssemblyResolver.Resolve(AssemblyNameReference name, Boolean probing)
1>   at Mono.Linker.Steps.ProcessReferencesStep.Process()
1>   at Mono.Linker.Steps.BaseStep.Process(LinkContext context)
1>   at Mono.Linker.Pipeline.Process(LinkContext context)
1>   at Mono.Linker.Driver.Run(ILogger customLogger)
1>   at Mono.Linker.Driver.Main(String[] args)
1>C:\Program Files\dotnet\packs\Microsoft.iOS.Windows.Sdk\16.4.7067\tools\msbuild\iOS\Xamarin.iOS.Common.After.targets(405,3): error MSB3371: The file "obj\Debug\net7.0-ios\ios-arm64\linked\Link.semaphore" cannot be created. Could not find a part of the path 'C:\<SOME_PATH>\obj\Debug\net7.0-ios\ios-arm64\linked\Link.semaphore'.
sbomer commented 11 months ago

Thanks for reporting @RobTF. Would you be able to share an MSBuild binlog? It looks like there are some bad (cross-platform) file paths being passed in, so we'll need to understand where those come from.