Hi Dave
> On 16 Jul 2015, at 12:13, Dave <d...@looktowindward.com> wrote:
> 
> Hi All,
> 
> It seems that the Mono Framework is 32 Bit and needs to be recompiled for 64 
> Bit.
> 
> I’m a bit confused by this, does it mean that I need to Build Mono from 
> http://www.mono-project.com/Compiling_Mono_on_OSX or does it mean I do the 
> munging above on a copy of the 32 Version that I’ve already got installed?
I built Dubrovnik (based on Dumbarton) so I know how confusing it can be to 
make some initial headway with this.

You need a working 64 bit build as detailed on  
http://www.mono-project.com/Compiling_Mono_on_OSX
Its not that hard in my experience - though build instructions sometimes don’t 
get updated often enough and you can be pulling you hair out pronto.
 
I haven’t built it in a while though as I have been using quite an old build 
for a while though - I could do with a build update too.
Check out the current state of the Mono binary release - they may be shipping a 
64/32 bit build by now (I think this was being held off because some of the 
Xamarin IDE products were still using Carbon APIs).

Install the Mono binary and checkout /Library/Frameworks/Mono.framework
Use the file(1) command to query the library - note that version numbers in the 
path below will be different for a modern build.

file 
/Library/Frameworks/Mono.framework/Versions/3.12.1/lib/libmonoboehm-2.0.1.dylib
/Library/Frameworks/Mono.framework/Versions/3.12.1/lib/libmonoboehm-2.0.1.dylib:
 Mach-O dynamically linked shared library i386

A Mono installation includes a whole toolchain.
A minimal runtime environment is tiny by comparison (in my app it is < 20MB).
It comprises:
1. The runtime library. The actual runtime libs are libmonoboehm-xxx and 
libmonosgen-xxx representing the two different GC schemes.
2. A few config files such as machine.config.
3. mscorlib.dll
4. The actual core managed assemblies used by your solution. Generally a subset 
of what is in lib/mono/gac

Note that I had to rename my custom 64 bit build in order for it to co-exist 
with the default 32 bit only framework.
Dubrovnik links again this.

It can take some effort to get all the required ducks in a row here.
All of this is only necessary if you really want to code in Obj-C.
For a simple app I would use the Xamarin bindings.

For lots of reasons I didn’t want to go down the Xamarin route and it has 
worked out okay.
My app has hundreds of nibs and thousands of bindings.
Like you the managed Assemblies I am targeting have been under development for 
years and we need to share that code base.

Contact me off list if you need to.

Jonathan












_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to