mono.posix icon indicating copy to clipboard operation
mono.posix copied to clipboard

Is AOT supported?

Open kjpgit opened this issue 2 years ago • 1 comments

I did dotnet publish with C# AOT, got no warnings. PublishAot=True in csproj.

At runtime, when I call execve():

Unhandled Exception: System.TypeInitializationException: A type initializer threw an exception. To determine which type, inspect the InnerException's StackTrace property. ---> System.DllNotFoundException: Unable to load shared library 'MonoPosixHelper' or one of its dependencies. In o rder to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
MonoPosixHelper.so: cannot open shared object file: No such file or directory libMonoPosixHelper.so: cannot open shared object file: No such file or directory MonoPosixHelper: cannot open shared object file: No such file or directory libMonoPosixHelper: cannot open shared object file: No such file or directory

kjpgit avatar Sep 07 '23 15:09 kjpgit

I think this is less a problem with AOT, and more a problem with dotnet publish integration/support: libMonoPosixHelper.so is a native library, and thus outside the confines of AOT, but it does need to be separately packaged with your application and present in a directory that dlopen() will search for, whether that be some system-wide location or by having environment variables such as LD_LIBRARY_PATH include the directory that contains libMonoPosixHelper.so.

jonpryor avatar Nov 08 '23 20:11 jonpryor