On Mon, Aug 24, 2020 at 8:34 AM Heinz Junkes <jun...@fhi-berlin.mpg.de> wrote:
>
> Thanks Chris for the explanation. It all makes sense.
>
> I stumbled over the following point:
>
> I tested the rc-2 and followed the Quick Guide to Building.
> “
> To build the tools for the ARM architecture:
>
> ../source-builder/sb-set-builder \
>   --prefix=$HOME/development/rtems/5.1-rc2 \
>   5/rtems-arm
>
> To build the tools, kernel and all packages for the Beagleboneblack:
>
> ../source-builder/sb-set-builder \
>   --prefix=$HOME/development/rtems/5.1-rc2 \
>   5/bsps/beagleboneblack
> “
>
> After that I tried to build EPICS and ran into the error of a missing header 
> file.
> “librtemsNFS.h could not be found”
> This header file is in rtems-libbsd which I then had to reinstall and build 
> for the target.
>
I believe 5/bsps/beagleboneblack should build and install the libbsd
with it. Something may have gone wrong?

> Then I thought about whether a recipe could/should consider this dependency.
>
> Viele Grüße
> Heinz Junkes
> --
> Experience directly varies with equipment ruined.
>
>
>
> > On 24. Aug 2020, at 01:59, Chris Johns <chr...@rtems.org> wrote:
> >
> > On 24/8/20 12:38 am, Heinz Junkes wrote:
> >> But shouldn't the dependencies for the RTEMS basic installation
> >> be taken into account.
> >
> > Dependences are normally checked by the application, package or tool being
> > built. In the case of EPICS it should check for a suitable RTEMS, libbsd 
> > etc and
> > configure itself. Given the high quality of the EPICS software I have 
> > assumed it
> > does this. The RSB can perform some checks but these are limited and 
> > specific.
> > If we need to we can add something.
> >
> > The RSB builds something based on a recipe someone creates. You can collect 
> > one
> > or more of these recipes as a set of things to build. You can collect sets 
> > of
> > things to build as a further set creating a vertical stack of software. A
> > vertical stack is one of those classic software stack pictures with the 
> > hardware
> > at the bottom, then the drivers and OS, networking, protocols, middle-ware 
> > and
> > an application at the top.
> >
> > The RSB is a tool in the RTEMS eco-system that can build a vertical stack 
> > for a
> > BSP, for example a beagleboneblack or zedboard or you can break down a 
> > vertical
> > stack to manage and customise any of the steps for your specific needs.
> >
> > Customising the steps lets a project, company, who ever create a build set 
> > that
> > targets a specific configuration for a selected board or sets of boards. A
> > company, a large organisation or EPICS can also do this. We call it 
> > deployment.
> >
> > As an open source project we learnt a hard lesson that supporting 
> > deployment is
> > a whole project in itself. Deploy is really important but it became a
> > distraction from our core focus, the OS and the kernel, consuming more and 
> > more
> > of our resources. As a result we have focused on tools that help users do 
> > this.
> > We also welcome commercial support services to do this for users.
> >
This is excellent and should be refactored to add in
https://docs.rtems.org/branches/master/user/rsb/index.html#source-builder

> >> Maybe I don't understand the purpose of the source-builder.
> >
> > This could be due to it's role not being explained clearly. I hope this 
> > post helps.
> >
> >> But I thought that the necessary rtems-modules (compiler for architecture, 
> >> libbsd, etc.) are checked and if something is missing, they are installed?
> >
> > The depends on the how the vertical stack is put together. The EPICS build 
> > set
> > should concentrate on EPICS. Now Mritunjay has included the RSB's
> > `rtems-bsp.cfg` BSP configuration file some checks will be made. Once we 
> > have
> > EPICS building as a package we can move to discuss if it becomes part of the
> > default package set the BSPs build set's build:
> >
> > https://git.rtems.org/rtems-source-builder/tree/rtems/config/6/rtems-packages.bset
> >
> > The packages are pull in on the last line of of a BSP build set:
> >
> > https://git.rtems.org/rtems-source-builder/tree/rtems/config/bsps/xilinx_zynq_zedboard.bset
> >
> > Integration like this has and still is a long term goal Joel and I have. We
> > would like EPICS to sit here with NASA's core flight executive so the bar 
> > is as
> > low as possible to have these important software packages build ready to 
> > run.
> >
> >> And when do the tests (epics: make runtests and qemu) come into play?
> >
> > This is something we will need to address. The RSB cleans a build 
> > environment
> > once it completes a build. The model is unpack source, patch, configure, 
> > build,
> > install, and then clean. In the case of the RTEMS kernel the test 
> > executables
> > are optionally installed so a user can run them:
> >
> > https://git.rtems.org/rtems-source-builder/tree/rtems/config/tools/rtems-kernel-common.cfg#n255
> >
> > How is EPICS used in real systems? Is the production executable built by 
> > EPICS
> > from the EPICS source tree? Is it a set of libraries that get installed and 
> > an
> > application links in these libraries?
> >
> > Chris
>
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to