I ran into this issue as well.  In my opinion this is a limitation of Mono.
Mono should look in the path of the running EXE or DLL.  To truly embed mono
in an application this would be ideal.

http://www.mono-project.com/Interop_with_Native_Libraries

Basically you have setup an env variable or place the dylib in a default
directory.

Duane

On Sun, Nov 22, 2009 at 9:18 AM, marc hoffman <m...@elitedev.com> wrote:

> Laurent,
>
> im getting the following error, although the dylib(s) *are* deployed in the
> MacOS folder of the .app bundle. Snow Leopard 10.6.2, using the current
> stable 2.4.2.3_6 version of Mono.
>
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474] Unhandled
> Exception: Monobjc.ObjectiveCException: The 'libmonobjc.2.dylib' library was
> not found. Please check that you have correctly installed it. --->
> System.DllNotFoundException: libmonobjc.2
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   at (wrapper
> managed-to-native)
> Monobjc.Runtime.ObjectiveC20.NativeMethods:setLifecycleCallback
> (Monobjc.Runtime.RuntimeBridge/LifecycleCallback)
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   at
> Monobjc.Runtime.ObjectiveC20.ObjectiveC20Bridge.SetLifecycleCallback
> (Monobjc.Runtime.LifecycleCallback callback) [0x00000]
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   --- End of inner
> exception stack trace ---
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   at
> Monobjc.Runtime.ObjectiveC20.ObjectiveC20Bridge.SetLifecycleCallback
> (Monobjc.Runtime.LifecycleCallback callback) [0x00000]
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   at
> Monobjc.Runtime.RuntimeBridge.get_Current () [0x00000]
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   at (wrapper
> synchronized) Monobjc.Runtime.RuntimeBridge:get_Current ()
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   at
> Monobjc.ObjectiveCRuntime.DefineClass (System.Type type) [0x00000]
> 11/22/09 3:14:57 PM     [0x0-0x5df5df].DAServer6[29474]   at
> Monobjc.ObjectiveCRuntime.ScanAssembly (System.Reflection.Assembly assembly)
> [0x00000]
>
> same app that ran fine with the previous Monobjc (which did not need the
> unmanaged dylib).
>
> any suggestions?
> marc
>
> On Nov 11, 2009, at 7:33 PM, Laurent Etiemble wrote:
>
> > Hello,
> >
> > I have finally come to a solution regarding the Snow Leopard support:
> > I have introduced a native library into the bridge to avoid the
> > reported crash on Mac OS X 10.6 [1]. After reviewing all the
> > feebacks[2][3], I came to the conclusion that a native library was the
> > only solution to:
> > - avoid the native/managed cross-calls when a thread exists and
> > dealloc its exit notification
> > - avoid the Mono runtime hacking (the Mono team is not really for it)
> >
> > The preview of the new release of the bridge is available for
> > download: http://downloads.monobjc.net/Monobjc-2.0.436.0.tar.gz
> >
> > Here are some noticeable points:
> > - the bridge now requires two shared libraries: libmonobjc.1.dylib and
> > libmonobjc.2.dylib (They are used for each version of the Objective-C
> > runtime). You have to put them in the MacOS folder of the application
> > bundle. Refer to the samples applications to see how you can simply do
> > that.
> > - the dealloc method is no more overriden. When using this version,
> > you will see a bunch of errors related to that. A search and replace
> > should do the trick.
> > - I saw some crashes on PowerPC G4 machines with Mono 2.6. Please use
> > Mono 2.4 as it is known to work ok.
> > - I think there are still some hidden issues (performance, optimization,
> etc).
> >
> > Can you please provide feedback on:
> > - the platform you are testing on (OS and Processor)
> > - the Mono version you are testing with
> > - the kind of application you are testing
> > - the result (work or crash)
> >
> > Thank you to everybody who has helped, and happy testing.
> >
> > Regards, Laurent Etiemble.
> >
> > [1] https://bugzilla.novell.com/show_bug.cgi?id=537764
> > [2] http://www.mail-archive.com/us...@lists.monobjc.net/msg00251.html
> > [3] http://www.mail-archive.com/us...@lists.monobjc.net/msg00286.html
>
>

Reply via email to