gnat/rtems?

Joel Sherrill joel.sherrill at OARcorp.com
Mon Jul 31 01:31:04 UTC 2000



Daniel Lange wrote:
> 
> Has anyone ever gotten gnat/rtems to compile? I followed the instructions
> on www.oarcorp.com to the letter, downloading all the files (finding
> gcc-2.81 was next to impossible) and decompressing all the files and
> applying patches, etc. However, it looks like the page I was following was
> written for setting up the C version of rtems, because it has certain
> obvious errors...
> 
> http://www.oarcorp.com/rtems/betas/rtems-4.5.0-beta/online-docs/rtemsdoc-4.5-beta3/share/rtemsdoc/html/started_ada/started_ada00015.html
> has no download site for gnat... I ended up searching for it with google.

OK.  Isn't it cs.nyu.edu?
 
> And the files on OARcorp's site aren't where they are supposed to be, I
> had to poke around in their ftp server to find the right files...

That I can understand.  The main thing being fixed in the documentation
between the beta and release is file location on the net.

> and the only place I could find gcc-2.8.1 (it's old now, 2.9.5 is out) was
> on metalab.unc.edu.

gcc 2.8.1 is old and that is just an unfortunate fact of life when using
gnat.  gnat depends on an old (ancient in open source terms) version of
gcc.
 
> I could be mistaken on this one, but I run a Debian linux system, and gcc
> won't compile ada files, and doesn't recognize the -gnata and -gnatpg
> options. I copied the ada directory and did the patch to gcc, and that
> kept failing with an "Warning: Ada compiler not installed on this system."
> so I hacked the Makefile and set CC= gnatmake, that generated the proper
> .o files, but bombed out with a constraint error on types.adb.

You are absolutely right.  Ada is not supported by "normal" installs
of gcc.  

> I was attempting to use rtems-4.5.0-beta3a.tgz to build, but really I
> don't think the compile ever got that far...
> 
> can anyone tell me what I did wrong?

You need to find a native gnat for your machine.  I typically use the
precompiled binary to build something that installs into a non-standard
location (say /usrX/gnat-VERSION) and put that at the head of my PATH
ONLY when compiling Ada code.  Otherwise, you are dealing with an old
gcc that is broken for C++.  Normally you will want to use a more recent
gcc for at least C/C++.

I am sorry this is confusing and difficult but gnat's dependency on
gcc 2.8.1 is hard to deal with on a number of levels.  It even 
creates maintenance problems on our side because gcc 2.8.1 does
not support elf well for embedded targets.  Recent RTEMS versions 
use ELF for most targets. 

> Daniel Lange

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985



More information about the users mailing list