Hi
My raspberryPi arrived this morning, one of the things I wanted to
try on it was EPICS. I have time on my hands at the moment, so I
did a quick trial of this.
Hi Florian,
On 2012-06-12 Florian Feldbauer wrote:
Currently arm is only supported as target not as host for build.
Since the Raspberry Pi has a gnu c compiler and all the libraries I
need (also a x-server), would it be possible to build EPICS directly
on this system instead of building it on a different system?
Yes, although as Jeff said you might need to add a few things to the
configure/os directory to get it to build. Since you're self-hosting I
think you should be able to use the generic target name linux-arm for
this build, which should simplify the Base configuration process.
I also chose linux-arm, though I wondered if I should indicate endianness
too.
You will need to create the file CONFIG.linux-arm.Common containing the
line
include $(CONFIG)/os/CONFIG.UnixCommon.Common
but that might be all you actually have to do. CONFIG.Common.linux-arm
may look like it's only set up for cross-compilation, but those
settings are actually overrides to variables set in
CONFIG.Common.UnixCommon so first try building without making any
changes there.
I did that, and also included $(CONFIG)/CONFIG.gnuCommon
I dare say that's not the way (or place) to do it, but I found that
without that, COMPILE.cpp was undefined, so I was able to compile .c
sources, but not .cpp
I haven't got to the bottom of that, maybe tomorrow.
In case it's not clear, files names *.<host>.Common are included
whenever building on<host> irrespective of the target; files named
*.Common.<target> are included whenever compiling for<target> on any
host; files named *.<host>.<target> are used whenever that particular
combination of<host> and<target> are involved. Files named
CONFIG.*.* contain default settings for the build process, while files
named CONFIG_SITE.*.* are intended for site- specific settings such as
paths that might vary (location of cross-compilers etc.).
After a top-level 'make' succeeds, you will want to use 'make runtests'
to execute the build-in test programs (note that epicsMessageQueueTest
takes 5 minutes to run, don't assume it has crashed when the messages
stop mid-test).
The tests passed
That's all I've tried so far
Thanks
tim
Hope this gets you started, ask if you get stuck. I would be
interested in adding your configuration files to the Base distribution
if you would like to contribute them once you have everything working.
- Andrew
--
Never interrupt your enemy when he is making a mistake.
-- Napoleon Bonaparte