[Mono-dev] Cross-compiling Mono for ARM

Gutemberg Ribeiro gutemberg at fgrit.com
Fri Jun 19 17:11:17 UTC 2015

Hello Andres...

I think I finally got it compiled but, now when I'm including on my C project the mono headers, my app don't compile anymore:

In file included from ../../Desktop/mono-build/usr/local/include/mono-2.0/mono/utils/mono-publib.h:45,
                 from ../../Desktop/mono-build/usr/local/include/mono-2.0/mono/metadata/appdomain.h:13,
                 from ../../Desktop/mono-build/usr/local/include/mono-2.0/mono/jit/jit.h:11,
                 from C:/Users/Gutemberg/IngeDev7_workspace/MonoWrapper/Inc/mono_loader.h:1,
                 from Src/Entry.c:43:
/cygdrive/c/Ingenico/IngeDev_7.22.2.1/plugins/com.ingenico.ingedev.telium.bin.win32.gnuarm.v434_7.20.0.1/os/win32/GNUARM/4.3.4/bin/../lib/gcc/arm-elf/4.3.4/../../../../arm-elf/include/stdint.h:243: error: conflicting types for 'intptr_t'
C:/Ingenico/TeliumSDK/SDK error: previous declaration of 'intptr_t' was here
/cygdrive/c/Ingenico/IngeDev_7.22.2.1/plugins/com.ingenico.ingedev.telium.bin.win32.gnuarm.v434_7.20.0.1/os/win32/GNUARM/4.3.4/bin/../lib/gcc/arm-elf/4.3.4/../../../../arm-elf/include/stdint.h:244: error: conflicting types for 'uintptr_t'
C:/Ingenico/TeliumSDK/SDK error: previous declaration of 'uintptr_t' was here
C:\Ingenico\IngeDev_7.22.2.1\plugins\com.ingenico.ingedev.generic.bin.win32_7.16.0.1\os\win32\tools\make.exe: *** [Obj/GNU_ARM_DEBUG/Entry.o] Error 1
C:\Ingenico\IngeDev_7.22.2.1\plugins\com.ingenico.ingedev.generic.bin.win32_7.16.0.1\os\win32\tools\make.exe: Target `build' not remade because of errors.

Any clues?


-----Original Message-----
From: Andres G. Aragoneses [mailto:knocte at gmail.com] 
Sent: Friday, June 19, 2015 8:58 AM
To: Gutemberg Ribeiro <gutemberg at fgrit.com>
Subject: Re: Cross-compiling Mono for ARM

On 18/06/15 21:03, Gutemberg Ribeiro wrote:
> Hello guys,
> I'm trying to cross-compile (from Ubuntu 14.04) Mono for ARM following 
> this tutorial 
> http://www.mono-project.com/docs/about-mono/supported-platforms/arm/ 
> but the links that show how configure ScratchBox are outdated and I 
> can't find anything on the internet on how to successful setup an 
> environment and cross-compile mono for ARM...
> The idea is to build it as a static library so I can use it embedded 
> as suggested here: 
> http://www.mono-project.com/docs/advanced/embedding/
> For the sake of information, the target ARM device runs a proprietary 
> striped down distribution based on debian and we have no access to its 
> terminal or any kind of access to the OS. It is a payment terminal 
> from www.ingenico.com <http://www.ingenico.com> and it has an ARM9 
> processor and uses a proprietary SDK that looks like uses GNU ARM 
> 4.3.4 toolchain with an IDE based on Eclipse as you can see in the following picture:
> The only way we have to use mono on it is by adding it as a static lib 
> and import the header in order to embedded it, create a thin C layer 
> that will only bootstrap the .net app (all their API calls will be 
> PInvoked after add Mono to it).
> Anyone has has a good documentation on:
> 1.How to setup a cross-compile environment on Ubuntu
> 2.Compile Mono to ARM as an static library
> Any help would be very appreciated.
> Thank you very much!
> Best regards,

Hey, I recommend you to put more details on what you have already tried. 
For example the details you already posted on the gitter channel when you were talking with Miguel about using CC='armv6-cc' ./configure.

More information about the Mono-devel-list mailing list