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