EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: EPICS + RTEMS-pc386 build fails with unknown type name 'rtems_malloc_statistics_t'
From: Robert Perez <[email protected]>
To: [email protected]
Date: Wed, 29 Jul 2015 22:39:37 -0300
Hi all, I´m building EPICS against RTEMS for an x86 target system. I'm mixing information from different sources trying to build a document to install RTEMS+EPICS in a x86 host to create an IOC. The idea is to share the document when finished because I couldn't find one for this target.

I get to a point in which the EPICS compilation fails with the following message 

../../../src/libCom/osi/os/RTEMS/osdPoolStatus.c: In function 'osiSufficentSpaceInPool':
../../../src/libCom/osi/os/RTEMS/osdPoolStatus.c:20:5: error: unknown type name 'rtems_malloc_statistics_t'

I´ve tried to use 3 different EPICS versions but all of them fail in the same way.
I´m using a XUbuntu 14.04 x86 machine and running the following commands to compile RTEMS toolchain(ok), RTEMS itself(ok) and then EPICS(fail)

Any help or pointer would be greatly appreciated, thanks Robert.

GCC-RTEMS version 4.9.3 
RTEMS version 4.11
EPICS versions base-3.14.10  base-3.14.12.4  base-3.14.12.5  base-3.15.2 


-------------------------------------------------------------------------------------------------------------------------------------------------


Starting from a Ubuntu desktop, update the tools of the host linux machine used to build.

$ sudo apt-get install build-essential git phyton-dev

$ sudo apt-get build-dep binutils gcc g++ gdb unzip git


Create directories, clone the RSB git repo and check the environment

$ cd $HOME/development/rtems

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

$ cd rtems-source-builder

$ source-builder/sb-check

It should respond with Environment OK.


Build and install the toolchain (this step takes near 1 hour)

~/development/rtems/rtems-source-builder/rtems$ ../source-builder/sb-set-builder --log=build-log.txt --prefix=$HOME/development/rtems/compiler/4.11 4.11/rtems-i386


Add the compiler to path

cd $HOME

PATH=$HOME/development/rtems/compiler/4.11/bin:$PATH


Test that the new compiler is accesible

i386-rtems4.11-gcc -v



Clone the RTEMS repo and bootstrap

$ cd $HOME/development/rtems

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

$ cd rtems-git

$ ./bootstrap


Configure RTEMS build, give BSP as parameter as well as some others.

xubuntu@xubuntu-VirtualBox:~/development/rtems/build-rtems-pc386$ ../rtems-git/configure --target=i386-rtems4.11 --enable-rtemsbps=pc386 --enable-tests=samples --enable-networking --enable-posix --prefix=$HOME/development/rtems/bsps/4.11


It should answer with something similar to this.

target architecture: i386.

available BSPs: edison pc386 pc486 pc586-sse pc586 pc686 pcp4.

'make all' will build the following BSPs: edison pc386 pc486 pc586-sse pc586 pc686 pcp4.

other BSPs can be built with 'make RTEMS_BSP="bsp1 bsp2 ..."'



Compile and install RTEMS.

make install



Download EPICS and untar to rtems folder

cd $HOME/development/rtems

wget http://www.aps.anl.gov/epics/download/base/base-3.15.2.tar.gz

tar xvzf base-3.15.2.tar.gz

This creates the base-3.15.2 folder inside rtems


Set the environment variable from the shell.

EPICS_HOST_ARCH=linux-x86


Edit $HOME/development/rtems/base-3.15.2/configure/CONFIG_SITE adding the target architecture

CROSS_COMPILER_TARGET_ARCHS=RTEMS-pc386


Edit base-3.15.2/configure/os/CONFIG_SITE.Common.RTEMS adding:

RTEMS_VERSION = 4.11

RTEMS_BASE = $HOME/development/rtems/bsps/4.11

RTEMS_TOOLS = $HOME/development/rtems/compiler/4.11


Go to base dir and compile with:

cd $HOME/development/base-3.15.2

make

And after this step the error message listed on the top of the email appears....



After this we should be able to create IOC applications to boot into RTEMS.. to be continued.





Replies:
Re: EPICS + RTEMS-pc386 build fails with unknown type name 'rtems_malloc_statistics_t' Michael Davidsaver

Navigate by Date:
Prev: Re: MVME-5500 Universe II Michael Davidsaver
Next: Re: EPICS + RTEMS-pc386 build fails with unknown type name 'rtems_malloc_statistics_t' Michael Davidsaver
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Problem with CSS alarm notifier 龙巍
Next: Re: EPICS + RTEMS-pc386 build fails with unknown type name 'rtems_malloc_statistics_t' Michael Davidsaver
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  <20152016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 16 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·