mono / mono.posix

POSIX/Unix interface for Mono, .NET and .NET Core. Provides functionality for managed code to access POSIX/Unix features not accessible via the BCL. This repository supersedes the older code in https://github.com/mono/mono
MIT License
40 stars 9 forks source link

Can't run Mono.Posix on alpine docker #18

Open tomer-amir opened 2 years ago

tomer-amir commented 2 years ago

I tried using this lib running a net6.0 app on an alpine docker container, but it seems to fail on the following error:

Unhandled exception. System.DllNotFoundException: Unable to load shared library 'Mono.Unix' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: Error loading shared library libMono.Unix: No such file or directory
   at Mono.Unix.Native.Syscall.stat(String file_name, Stat& buf)
   at Mono.Unix.UnixFileSystemInfo.GetFileStatus(String path, Stat& stat)
   at Mono.Unix.UnixFileSystemInfo.Refresh(Boolean force)
   at Mono.Unix.UnixFileSystemInfo..ctor(String path)
   at Mono.Unix.UnixFileInfo..ctor(String path)
   at Program.<Main>$(String[] args) in /code/Program.cs:line 3

Running the same code on a Debian container seems to work.

My code:

using Mono.Unix;

var test = new UnixFileInfo("/tmp");
Console.WriteLine(test);

Here is a repo that can help reproduce the issue: https://github.com/tomer-amir/mono-alpine-demo

Am I missing something?