wiki:Developer/Tools/RSB

Version 21 (modified by Wendell P Silva, on Jan 23, 2015 at 7:37:21 PM) (diff)

--

RTEMS Source Builder

Table of Contents

    Error: Page TBR/UserManual/RTEMS_Source_Builder does not exist

The RTEMS Source Builder or RSB builds RTEMS tool sets for a range of hosts from source. It is an easy to use tool complete with documentation that gives you an RTEMS tool set for your architecture ready to use. It is actively being maintained so you get a current tool set that works with RTEMS releases as well as RTEMS's development branches.

The RTEMS Source Builder builds using the source code for the tools by downloading it plus any patches. The source is left there for you so you can rebuild the tools, change the source and remake the tools. You are not left with a binary blob and not way to rebuild it if you need too.

  • Source Builder was created and is maintained by Chris Johns. Feel free to ask about it on the RTEMS User and Development mailing lists.

Building a Tools set with RTEMS

To build a tool set checkout the RSB repo and then get the RSB to build the tools and RTEMS.

$ cd

$ mkdir -p development/rtems/src

$ cd development/rtems/src

$ git clone git://git.rtems.org/rtems-source-builder.git

$ cd rtems-source-builder

$ cd rtems

$ ../source-builder/sb-set-builder --log=l-sparc.txt \

--prefix=$HOME/development/rtems/4.11 --with-rtems 4.11/rtems-sparc

CentOS 7 - Building Notes

The current version of CentOS 7 uses texinfo version 5.1 as its default textinfo package. The makeinfo >= 5.0 are currently not supported for 4.10/rtems-*, for instance. Use the following workaround if your compilation fails in consequence of incompatible makeinfo check on CentOS 7:

$ cd ~/Downloads

$ wget http://ftp.gnu.org/gnu/texinfo/texinfo-4.13.tar.gz

$ tar -xzf texinfo-4.13.tar.gz

$ cd texinfo-4.13

$ ./configure --prefix=$HOME/development/textinfo-4.13

$ make

$ make install

If you succeeded to build textinfo 4.13:

$ export PATH=$HOME/development/textinfo-4.13/bin:$PATH

You are now ready to re-run RSB with 4.10/rtems-[your-favorite-arch].

Feedback from Students about using RSB for the GSoC Getting Started

{| border="1" style="margin: 1em auto 1em auto;text-align: center;" |+

|Student | Adit C.
Host OS RTEMS Target Feedback
Ubuntu 13.04 sparc-rtems4.11 Instructions were fairly straight forward, however I experience some trouble initially due to missing packages. I had to install the latest versions of bison, cvs, g++, flex, and texinfo. I may have had to do so since I am running Ubuntu 13.04 on a virtual machine in OSX Mavericks. I also had to python2.7-dev installed. Nonetheless, once these packages were installed, I was able to get things done relatively easily.

(chrisj: I have updated the doco to go to the host setup before anything else)

| Pavel Z.
Ubuntu 13.04 sparc-rtems4.11 Overall the wiki was clear on what was required. The configuration file did not accept --enable-tests=samples, so I had to consult documentation to build the hello world application found in the git repository myself. Also RTEMS was very specific with the automake version it wanted: I had to compile 1.12.2 from source

(chrisj: The RSB should build a suitable automake)

| Bryan D.
Arch Linux sparc-rtems4.11 While compiling the tools and RTEMS I only encountered two problems. The first one was with binutils; for some reason, it refused to compile outside the source directory, so I compiled it in the source directory. The second problem was with building RTEMS itself. The error was easy to fix though and just required removing the --disable-posix flag when calling ./configure.

(chrisj: I have no idea about building in the source dir)

| Chirayu D. | Kevin F.
Arch Linux sparc-rtems4.11 I had to install an older version of texinfo, but other than that it worked fine. I did not use the --disable-posix flag when calling ./configure.
Linux Mint 13 LTS sparc-rtems4.11 I made lots of errors myself, but overall the instructions were fairly clear. Perhaps the RSB Quick Start should explain moving executables a bit more (like where to find them) and the RTEMS Quick Start should have remarked that you should put export the PATH to the tools bin you compiled. I needed python2.7-dev installed.

(chrisj: Add something about installing executables. The export path is already present in the documentation. I have tried to make it stand out a little more)

| An Ha
Arch Linux sparc-rtems4.11 The directions were easy to follow, however, when running the source-builder, sb-check and sb-set-builder, I had to change the first lines from /usr/bin/env python, to /usr/bin/env python2, otherwise it would run the code in python 3, not 2. I also had to install texinfo-legacy from AUR instead of texinfo to fix the problem when building binutils (as stated in the documentation). I also did not have to use the --disable-posix flag when calling ./configure.

(chrisj: Maybe the RSB need to work on both versions of Python. I need the commands to install packages as I have no idea)

| Zsolt Sz. | C. Tan | Evan M.
Xubuntu sparc-rtems4.11 I was having some troubles at the beginning, but now I hope that everything will work out fine.
Ubuntu 13.10 64-bit sparc-rtems4.11 I had some trouble getting the RTEMS compiler to be compiled from source code, mainly the binutils and gcc, even though I had followed the Quick Start closely. These required some Googling, and I eventually found out I had to downgrade texinfo ( alternatively I believed I could have installed the patch: http://www.rtems.com/pipermail/rtems-users/2013-November/012144.html ) and install python-dev respectively. Other than that, the Quick Start was very concise and clear.
Ubuntu sparc-rtems4.11 I found the directions straightforward, although I do admit I had some trouble from time to time. It also seemed like several pages contradicted each other, but that might have been on my side due to my lack of experience.

(chrisj: I need more detail to understand the contradictions)

| Kkvazar Q.
Fedora 20 sparc-rtems4.11 I wasn't able to finish the task, because I got lost in the documentation, the pages weren't well related and were contradicting. Some useful pages weren't easy to find such as the git README.

I expected sb-check to tell me about missing devel libs, but it didn't. 'bootstrap' was hard to find and it failed on missing files. Most of the questions I had were asked online, but weren't answered. (chrisj: The documentation states the RSB is not package manager) |}