Skip to content

Minor: Configuring with multiple RTEMS targets #95

@anjohnson

Description

@anjohnson

A GHA build configured with

CI_CROSS_TARGETS="RTEMS-beatnik@5:RTEMS-xilinx_zynq_a9_qemu@5:RTEMS-uC5282@5"

Seems to have built all 3 targets as I hoped it would, but during the cue.py prepare step it output this:

Configuring EPICS build system
  EPICS Base build system set up for optimized build with shared (DLL) linking
  Cross compiler RTEMS5 @ RTEMS-beatnik
  Downloading RTEMS 5 cross compiler: beatnik-rtems5.tar.xz
  /opt/rtems/5/bin/powerpc-rtems5-gcc --version
  powerpc-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5 (3911854[46](https://github.com/anjohnson/pvDataCPP/actions/runs/10337027940/job/28613430850#step:5:49)2e7 modified), Newlib 7947581)
  Copyright (C) 2017 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  Cross compiler RTEMS5 @ RTEMS-xilinx_zynq_a9_qemu
  Downloading RTEMS 5 cross compiler: xilinx_zynq_a9_qemu-rtems5.tar.xz
  /opt/rtems/5/bin/arm-rtems5-gcc --version
  arm-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5 (3911854462e7 modified), Newlib 7947581)
  Copyright (C) 2017 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  /opt/rtems/5/bin/powerpc-rtems5-gcc --version
  powerpc-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5 (3911854462e7 modified), Newlib 7947581)
  Copyright (C) 2017 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  Cross compiler RTEMS5 @ RTEMS-uC[52](https://github.com/anjohnson/pvDataCPP/actions/runs/10337027940/job/28613430850#step:5:55)82
  Downloading RTEMS 5 cross compiler: uC5282-rtems5.tar.xz
  /opt/rtems/5/bin/m68k-rtems5-gcc --version
  m68k-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5 (39118[54](https://github.com/anjohnson/pvDataCPP/actions/runs/10337027940/job/28613430850#step:5:57)462e7 modified), Newlib 7947581)
  Copyright (C) 2017 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  /opt/rtems/5/bin/arm-rtems5-gcc --version
  arm-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5 (3911854462e7 modified), Newlib 7947[58](https://github.com/anjohnson/pvDataCPP/actions/runs/10337027940/job/28613430850#step:5:61)1)
  Copyright (C) 2017 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  
  /opt/rtems/5/bin/powerpc-rtems5-gcc --version
  powerpc-rtems5-gcc (GCC) 7.5.0 20191114 (RTEMS 5, RSB 5 (39118544[62](https://github.com/anjohnson/pvDataCPP/actions/runs/10337027940/job/28613430850#step:5:65)e7 modified), Newlib 7947581)
  Copyright (C) 2017 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

So it downloaded each compiler just once, but ran the gcc --version commands for all of the installed cross-compilers in reverse order after installing each one.

It might be worth putting a check in the code when multiple RTEMS targets are built to ensure that they all specify the same RTEMS version. It's not possible to mix RTEMS versions in a single Base build tree.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions