[Mono-osx] Dumbarton and C# subclasses

Patrick Perry patperry at stanford.edu
Thu May 17 23:36:00 EDT 2007


Allan has helped me with this problem before (one of the advantages  
of having lived in the same undergraduate dorm as him).

Basically, the mono runtime starts in the 1.0 profile unless  
explicitly given a 2.0 assembly.  If you call

[DBMonoEnvironment defaultEnvironmentWithName:"/Library/Frameworks/ 
Mono.framework/Versions/Current/lib/mono/2.0/mscorlib.dll"]

then everything should work fine.


Patrick

On May 17, 2007, at 7:51 PM, Hawston LLH wrote:

> Hi Allan,
>
> I happen to look at an earlier post, and found out a "work around",  
> that is on top of setting "Cross Develop Target ( main project name  
> - Cmd-I - General Tab) to Current Mac OS ", also, add "-undefined  
> dynamic_lookup" flag in the "Other Linker Flags" build setting.  
> ( http://lists.ximian.com/pipermail/mono-osx/2007-February/ 
> 000828.html)
>
> Although dumbarton is successfully built with mono1.2.4, however,  
> it seems that Generic List is not supported. What I did is simply  
> add a declaration of "List<string> str;" in the CurrencyConverter  
> class in the standard dumbarton example. The example project build  
> successfully but run with following error:
>
> ** (process:284): WARNING **: The class  
> System.Collections.Generic.List`1 could not be loaded, used in  
> mscorlib, Version=2.0.0.0, Culture=neutral,  
> PublicKeyToken=b77a5c561934e089
>
> In summary, my own observations are:
> (1) mono1.2.3.1 and mono1.2.4 supports Generic List : I tried  
> compile a test program with 'gmcs' and run it with 'mono' in  
> Terminal, it works fine.
>
> (2) Dumbarton is successfully built with official mono release  
> 1.2.3.1 and 1.2.4, if I did what I mentioned of 'work around' on  
> top. However, by using dumbarton as bridge, Generic List "could not  
> be loaded". Even with the customized "svn-r64487-universal" version  
> of mono, the same problem exists.
>
> Allan, I know you are currently busy, and might not able to look  
> into this issue immediately. However, with your expertise, you may  
> provide me some possible approaches to tackle this problem on my  
> own. Any help is greatly appreciated.
>
> Hawston
>
>
> On 5/17/07, Hawston LLH <hawston at gmail.com> wrote:
> Doing so, can solve the locating the libglib-2.0.0.dylib issue,  
> however, there are still 2 errors remained:
>
> Undefined symbols:
> _environ
> internal link edit command failed
>
> hawston
>
>
> On 5/17/07, Eoin Norris <e.norris at mac.com> wrote:
>
> It is a bit strange that the linker is expecting libglib-2.0.0.dylib
> to be  in /Developer/SDKs/MacOSX10.4u.sdk/Library/Frameworks/
> Mono.framework/Versions/1.2.4/lib/libglib-2.0.0.dylib rather than
>
> Library/Frameworks/Mono.framework/Versions/1.2.4/lib/ 
> libglib-2.0.0.dylib
>
>
> You could try change the Cross Develop Target ( main project name -
> Cmd-I - General Tab) to Current Mac OS rather than the MacOSX! 
> 014.4u.sdk
>
>
> -- Eoin
>
>
> On 17 May 2007, at 04:43, Hawston LLH wrote:
>
> > hi Allan,
> >
> > thanks for your prompt reply, below are the error message when i was
> > trying to compile dumbarton with mono1.2.4, in fact, i face the same
> > problem with mono1.2.3.1. Compilation is ok, but the linking got
> > error.
> >
> > ld: warning can't open dynamic library:
> > /Developer/SDKs/MacOSX10.4u.sdk/Library/Frameworks/Mono.framework/
> > Versions/1.2.4/lib/libglib-2.0.0.dylib
> > referenced from:
> > /Library/Frameworks/Mono.framework/Versions/Current/lib/
> > libgmodule-2.0.dylib
> > (checking for undefined symbols may be affected) (No such file or
> > directory, errno = 2)
> > ld: warning multiple definitions of symbol _catch_exception_raise
> > /Users/LingHao/Desktop/Dumbarton/src/build/Dumbarton.build/Release/
> > Dumbarton.build/Objects-normal/ppc/DBMonoEnvironment.o
> > definition of _catch_exception_raise in section (__TEXT,__text)
> > /Library/Frameworks/Mono.framework/Mono(mini.o) definition of
> > _catch_exception_raise
> > ld: warning multiple definitions of symbol _GetCurrentThread
> > /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/
> > CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/
> > Versions/A/CarbonCore( ProjectBuilderMasterObjectFile.o)
> > definition of _GetCurrentThread
> > /Library/Frameworks/Mono.framework/Mono(threads.o) definition of
> > _GetCurrentThread
> > ld: warning multiple definitions of symbol ___freedtoa
> > /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/powerpc-apple-
> > darwin8/4.0.1/../../../libm.dylib(gdtoa-dmisc.So)
> > definition of ___freedtoa
> > /Library/Frameworks/Mono.framework/Mono(strtod.o) definition of
> > ___freedtoa
> > ld: warning multiple definitions of symbol _locale_charset
> > /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/gcc/powerpc-apple-
> > darwin8/4.0.1/../../../libiconv.dylib(localcharset.o)
> > definition of _locale_charset
> > /Library/Frameworks/Mono.framework/Versions/Current/lib/
> > libintl.dylib(localcharset.o)
> > definition of _locale_charset
> > ld: Undefined symbols:
> > _environ
> > _g_free referenced from libgthread-2.0.0.600 expected to be  
> defined in
> > /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_log referenced from libgthread-2.0.0.600 expected to be  
> defined in
> > /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_malloc referenced from libgthread-2.0.0.600 expected to be  
> defined
> > in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_malloc0 referenced from libgthread-2.0.0.600 expected to be  
> defined
> > in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_realloc referenced from libgthread-2.0.0.600 expected to be  
> defined
> > in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_return_if_fail_warning referenced from libgthread-2.0.0.600
> > expected to be defined in
> > /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_set_error referenced from libgthread-2.0.0.600 expected to be
> > defined in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_strerror referenced from libgthread-2.0.0.600 expected to be
> > defined in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_thread_error_quark referenced from libgthread-2.0.0.600  
> expected to
> > be defined in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_thread_functions_for_glib_use referenced from  
> libgthread-2.0.0.600
> > expected to be defined in
> > /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_thread_init_glib referenced from libgthread-2.0.0.600 expected to
> > be defined in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_thread_self referenced from libgthread-2.0.0.600 expected to be
> > defined in /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_thread_use_default_impl referenced from libgthread-2.0.0.600
> > expected to be defined in
> > /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > _g_threads_got_initialized referenced from libgthread-2.0.0.600
> > expected to be defined in
> > /Library/Frameworks/Mono.framework/Versions/1.2.4/lib/
> > libglib-2.0.0.dylib
> > /usr/bin/libtool: internal link edit command failed
> >
> > hawston
> >
> >
> >
> > On 5/17/07, Allan Hsu < allan at counterpop.net > wrote:
> >> I'll try to look into this sometime soon, but I'm a little busy  
> right
> >> now. You should be able to compile Dumbarton out of SVN against the
> >> 1.2.3.1 Mono release; my custom universal builds should no  
> longer be
> >> necessary.
> >>
> >> What sort of build errors are you getting with 1.2.4?
> >>
> >>         -Allan
> >> --
> >> Allan Hsu <allan at counterpop dot net>
> >> 1E64 E20F 34D9 CBA7 1300  1457 AC37 CBBB 0E92 C779
> >>
> >>
> >> On May 16, 2007, at 1:16 AM, Hawston LLH wrote:
> >>
> >>> anyone successfully build Dumbarton with latest Mono 1.2.4?
> >>> Apparently, I can only manage to compile Dumbarton with the Allen
> >>> Hsu given version svn-r64487-universal of mono http://
> >>> lists.ximian.com/pipermail/mono-osx/2006-September/000601.html .
> >>> However, this version of mono seem not work on Generic List. any
> >>> clue?
> >>>
> >>> hawston
> >>>
> >>>
> >>> On 5/13/07, Hawston LLH < hawston at gmail.com> wrote:
> >>> First, i noticed 2 possible errors.
> >>>
> >>> 1) you miss out namespace for the class
> >>> MonoClass *monoClass = [DBMonoEnvironment
> >>> monoClassWithName:"<missing namespace>.B"  
> fromAssembly:myAssembly];
> >>>
> >>> 2) you miss out brackets for the function
> >>> MonoString *name = (MonoString*)[self invokeMethod:"Name()"
> >>> withNumArgs:
> >>> 0];
> >>>
> >>> regards
> >>> hawston
> >>>
> >>>
> >>> On 5/13/07, Will Cosgrove <will at everydaysoftware.net > wrote: Hi
> >>> All,
> >>> I'm new to the list so I apologize in advance if this topic has  
> been
> >>> covered.  I'm currently prototyping some C#/Cocoa code for
> >>> feasibility and I have run into a bit of a snag.  I have a C#  
> class
> >>> which I subclass.  Let's call them class A and class B : A.  I
> >>> create
> >>> the bridge class using code from the Dumbarton sample code like  
> so:
> >>>
> >>> [...]
> >>> MonoClass *monoClass = [DBMonoEnvironment monoClassWithName:"B"
> >>> fromAssembly:myAssembly];
> >>>
> >>> The problem I'm having is when I try to invoke any methods in the
> >>> super class, A, Dumbarton can't find those methods and I get the
> >>> following error:
> >>>
> >>> 2007-05-12 22:58:29.267 MyTestApplication[15491] Dumbarton  
> could not
> >>> find the method Name
> >>> 2007-05-12 22:58:29.267 MyTestApplication[15491] *** Uncaught
> >>> exception: <DBMethodNotFound> Dumbarton could not find the method
> >>> Name
> >>>
> >>> The way I'm invoking the method Name is like so:
> >>>
> >>> MonoString *name = (MonoString*)[self invokeMethod:"Name"
> >>> withNumArgs:
> >>> 0];
> >>>
> >>> So I guess my question is, is this possible using Dumbarton and if
> >>> so, how does one go about getting it to work. =)
> >>>
> >>> Thanks in advance,
> >>> Will C.
> >>> _______________________________________________
> >>> Mono-osx mailing list
> >>> Mono-osx at lists.ximian.com
> >>> http://lists.ximian.com/mailman/listinfo/mono-osx
> >>>
> >>>
> >>> _______________________________________________
> >>> Mono-osx mailing list
> >>> Mono-osx at lists.ximian.com
> >>> http://lists.ximian.com/mailman/listinfo/mono-osx
> >>
> >>
> > _______________________________________________
> > Mono-osx mailing list
> > Mono-osx at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-osx
>
>
>
> _______________________________________________
> Mono-osx mailing list
> Mono-osx at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-osx

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-osx/attachments/20070517/fff828a2/attachment.html 


More information about the Mono-osx mailing list