Bug 1631 - [mmp] MonoMac linker doesn't include libMonoPosixHelper.dylib in app bundle
Summary: [mmp] MonoMac linker doesn't include libMonoPosixHelper.dylib in app bundle
Status: RESOLVED FIXED
Alias: None
Product: MonoMac
Classification: Desktop
Component: Bindings ()
Version: unspecified
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: Sebastien Pouliot
URL:
Depends on:
Blocks:
 
Reported: 2011-10-21 07:03 UTC by krt
Modified: 2012-10-30 15:13 UTC (History)
2 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description krt 2011-10-21 07:03:49 UTC
Using GZipStream in MonoMac packaged application throws System.DllNotFoundException: libMonoPosixHelper.dylib

Stack trace:

[ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException: libMonoPosixHelper.dylib
  at (wrapper managed-to-native) System.IO.Compression.DeflateStream:CreateZStream (System.IO.Compression.CompressionMode,bool,System.IO.Compression.DeflateStream/UnmanagedReadOrWrite,intptr)
  at System.IO.Compression.DeflateStream..ctor (System.IO.Stream compressedStream, CompressionMode mode, Boolean leaveOpen, Boolean gzip) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.IO.Compression.DeflateStream:.ctor (System.IO.Stream,System.IO.Compression.CompressionMode,bool,bool)
  at System.IO.Compression.GZipStream..ctor (System.IO.Stream compressedStream, CompressionMode mode, Boolean leaveOpen) [0x00000] in <filename unknown>:0 
  at System.IO.Compression.GZipStream..ctor (System.IO.Stream compressedStream, CompressionMode mode) [0x00000] in <filename unknown>:0 
  at (wrapper remoting-invoke-with-check) System.IO.Compression.GZipStream:.ctor (System.IO.Stream,System.IO.Compression.CompressionMode)
Comment 1 Sebastien Pouliot 2012-03-15 15:39:54 UTC
A quick test shows this works here and that the .dylib is part of the .app
bug1631.app/Contents/Resources/libMonoPosixHelper.dylib

Can you tell me the versions of Mono and MonoDevelop you're using ?
Comment 2 Sebastien Pouliot 2012-10-30 15:13:48 UTC
The next version of mmp will detect the need for libMonoPosixHelper.dylib based on the [DllImport] not on the reference of Mono.Posix.dll. 

That should remove cases where another assembly, beside Mono.Posix, requires libMonoPosixHelper.dylib and also reduce the application size when Mono.Posix does not actually need libMonoPosixHelper.dylib.