Has anyone tried to port Mono to RTEMS

xuelin.tian at qkmtech.com xuelin.tian at qkmtech.com
Mon Jul 24 09:02:43 UTC 2017

Hi Russell,
First, I have built Mono natively successfully, as you did. Download source from git ( branch- ), update the external module, make&make install. All done for my Ubuntu14.0. "Hello-world" test works well.
And the rtems part is working fine on my host and target (zynq) too, I have used it for like 2 years. The version I am using is 4.11, stable branch.

Then, right now, I want to combine these together. 
Like I compiled Mono natively, I need to configure it first, https://pastebin.com/56ZXNBrj 
then, the error came up, as usual, https://pastebin.com/qz407hPN, and the config log is here https://pastebin.com/Nc4EQy7D 

The error you encountered here is, I think, that you need to point out the path where linkcmds locates. Try to add "-B/.../arm-rtems4.11/lib -B/.../arm-rtems4.11/xilinx_zynq_zedboard/lib/ " to your CFLAGS. And it may go well. 

Best wishes,
xuelin.tian at qkmtech.com
From: Russell Haley
Date: 2017-07-24 11:05
To: Joel Sherrill
CC: rtems-users at rtems.org
Subject: Re: Has anyone tried to port Mono to RTEMS
On Sun, Jul 23, 2017 at 6:28 PM, Joel Sherrill <joel at rtems.org> wrote:
> On Jul 23, 2017 7:11 PM, "Chris Johns" <chrisj at rtems.org> wrote:
> On 24/07/2017 09:29, Russell Haley wrote:
>> I've retreated from FreeBSD all together. I'm on Debian Jessie right now.
>> rsb is
>> running and Mono is compiling now (still compiling C, not yet into mcs
>> where it
>> compiles the framework). I saw the original posters timezone item go
>> whizing
>> past so it's not a problem with my system so far. Will know more when I
>> get rsb
>> completed.
> Interesting. This would imply something is not full crossed to the RTEMS
> environment in Mono or the RTEMS environment is not consistent. The RTEMS
> environment should be consistent across a range of host machines and so it
> should give the same results to configure probes.
> One issue I find when on FreeBSD is configure or build logic based around
> sed
> breaks. If the sed logic uses GNU sed extensions, for example '\n' for a new
> line, it breaks the BSD sed as it does not support it.
> Does Mono build natively on FreeBSD? It is quite possible that any number of
> host tools are not installed, not the GNU version, or Mono simply has Linux
> specific assumptions.
Nothing seems to be working on FreeBSD 12 right now. There just seems
to be lots of broken stuff. TrueOS moved over to a rolling release a
little while ago and I've never tried to do any development on it
before. Building from 12-CURRENT seems like an enticing idea but...
I've run into a lot of issues (or I feel like I have anyway). I
abandoned Arch for Debian because I didn't want to deal with rolling
releases in embedded development (the little I do). I may have to
consider rolling my own FBSD Desktop instead of using TrueOS.
Anyway, this is about mono. I got mono to build natively on Debian. I
got the RTEMS sparc simulator from the quick start to build (OMG, what
do I do with that now??? A manual reference for the next steps would
be great cause I can't find it).
I tried modifying OPs (Original Poster) command line to work with my env:
env LD_LIBRARY_PATH=/home/russellh/rtems/4.12/bin/ \
./autogen.sh \
--prefix=/opt/Mono/mono- \
--target=arm-rtems4.12 \
--host=x86_64-unknown-linux \
CC=/home/russellh/rtems/4.12/bin/sparc-rtems4.12-gcc \
This doesn't work. It fails to find the linker and won't configure.
Output is here: https://pastebin.com/Twt36Qph
It's frustrating because everything in mono configuration is
autogenerated. That means I can't find the conftest.c file. Anyway,
The issue is the linker location is out to lunch:
cannot open linker script file linkcmds:
As noted above, the compiling-from-git section said to add
LD_LIBRARY_PATH. I tried exporting it first, then tried the env trick.
No luck either way.
If I cared to pursue this (which I don't) I would await an RTEMS reply
and then likely contact the mono team. However, a note from an
ex-collegue: The are moving a very large number of servers from
Microsoft to Linux (save $$$) and their evaluation of Mono was so
dismal they decided to re-factor to work with DotNet Core instead.
They have a HUGE amount of code to refactor! And those are big beefy
*servers* with lots and lots of memory.
This exercise has been very instructive for me. Once I figure out how
to get the simulator working I'll look at linking in Lua and then
perhaps DotNetCore. That however requires build clang and llvm 3.9 and
a bunch of stuff I just don't want to deal with when Lua is there for
Good luck Xuelin Tian, I won't be responding further.
users mailing list
users at rtems.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20170724/3c93a378/attachment-0002.html>

More information about the users mailing list