[Mono-osx] Dumbarton and C# subclasses

Hawston LLH hawston at gmail.com
Thu May 17 23:49:37 EDT 2007


Magically, it works! Thanks for your help!

hawston


On 5/18/07, Patrick Perry <patperry at stanford.edu> wrote:
>
>  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`1could 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/20070518/4806c49e/attachment-0001.html 


More information about the Mono-osx mailing list