[Mono-bugs] [Bug 82463][Wis] New - Embedding mono on OS X, solving name collisions with Carbon.framework

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Aug 17 02:01:38 EDT 2007

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by csomor at advancedconcepts.ch.


--- shadow/82463	2007-08-17 02:01:37.000000000 -0400
+++ shadow/82463.tmp.10569	2007-08-17 02:01:37.000000000 -0400
@@ -0,0 +1,57 @@
+Bug#: 82463
+Product: Mono: Runtime
+Version: 1.0
+OS: other
+OS Details: OS X Intel 10.4.10
+Status: NEW   
+Priority: Wishlist
+Component: io-layer
+AssignedTo: dick at ximian.com                            
+ReportedBy: csomor at advancedconcepts.ch               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: Embedding mono on OS X, solving name collisions with Carbon.framework
+Description of Problem:
+if mono is embedded on OS X into an application that already has the 
+Carbon framework loaded, we run into two name collisions. This eg was 
+also referred to by
+Actual Results:
+initing the runtime fails on an assert on mono_thread_attach because the Carbon 
+GetCurrentThread methods  get executed instead of the mono one, and since 
+Carbon_GetCurrentThread returns noErr (=0) it triggers the assert assuming it got a NULL thread. 
+If you rename that one you later block on a CreateEvent call, which again calles the wrong library.
+Expected Results:
+How often does this happen? 
+Additional Information:
+Suggested solution : My suggestion is to extend the already existing renaming 
+(http://bugzilla.ximian.com/show_bug.cgi?id=77324) in configure.in from
+    *-*-darwin*)
+        CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess"
+        CPPFLAGS="$CPPFLAGS -DGetCurrentProcess=MonoGetCurrentProcess 
+-DGetCurrentThread=MonoGetCurrentThread -DCreateEvent=MonoCreateEvent"
+this at least solved problems for me
+Best Regards,

More information about the mono-bugs mailing list