[Mono-list] libMonoPosixHelper.dylib?

Maury Markowitz maury.markowitz at gmail.com
Wed Nov 5 16:19:53 UTC 2014

On Nov 5, 2014, at 10:52 AM, Jonathan Pryor <jonpryor at vt.edu> wrote:
> Why do you need to reference libMonoPosixHelper.dylib? It has NO STABLE ABI; it is intended for use only from Mono.Posix.dll.

It's not me, it's being called from Mono's WindowBase, specifically this line of code...

[DllImport (MonoPosixHelper, CallingConvention=CallingConvention.Cdecl)]
static extern UnzipHandle unzOpen2 (string path, ref ZlibFileFuncDef pzlib_filefunc_def);

unzOpen2 is part of miniunzip, itself part of zlib. The zlib code appears to be in the MPH project essentially/completely unchanged. Of course I also have libz in /usr/lib on every device I'm targeting.

I can imagine a number of potential issues/solutions, but I really don't know enough to select among these named options:

*** What are you doing, man?! ***

Is WindowsBase available in a OSX version? Or just System.IO.Packaging? It does not appear to be, which is what started me down this rabbit hole.

*** It just works! ***

If this call should normally just work, then perhaps the path is screwed up and it can't find it. How would I test this possibility?

*** No luck, chum... ***

WindowsBase is there, but doesn't include (working) minizip, so I'm SOL.

*** How about this... ***

Since zlib is installed on every X/iOS device, maybe I should simply re-direct this call to the native library? But does that dylib include the minizip functionality? How can I find out?

Or maybe I just build a new, fresh zlib/minizip from source into a dylib, and map to that?

More information about the Mono-list mailing list