Minor: Configuring with multiple RTEMS targets
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 42/100
Research direction
Start by tracing the cue.py prepare handling of CI_CROSS_TARGETS and RTEMS compiler setup; the issue provides no file or test names. Check how multiple targets trigger compiler version commands and where their RTEMS versions are parsed. Done means compiler checks run as intended and mixed RTEMS versions are rejected for a single Base build tree, with coverage for multiple targets.
Written by the indexing model from the issue text.
Description
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.
- Dominant language
- Python
- Stars
- 8
- Forks
- 21
- Avg merge
- 13h 50m
- Merged PRs (30d)
- 3
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from epics-base/ci-scripts
-
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
epics-base/ci-scripts#116 · 6 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 53/100
epics-base/ci-scripts#114 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 35/100
epics-base/ci-scripts#110 · 1 comment ·
-
enhancement help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 38/100
epics-base/ci-scripts#104 · 1 comment ·
-
MacOS cross-compiler installationMay be free again @ralphlange claimed this 174 days ago, and no pull request is open. Open
epics-base/ci-scripts#102 · 3 comments · 1 assignee ·
All issues in epics-base/ci-scripts
Similar issues
-
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
QuantConnect/Documentation#2838 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
awslabs/route53-dynamic-dns-with-lambda#67 · 1 comment ·
-
`SubAgents` returns a child run's `DeferredToolRequests` to the parent as a successful tool resultOpenbug pkg:harness
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
pydantic/pydantic-ai#12405 ·
Maintainers usually reply within 1 day
-
good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
good first issue help wanted
Difficulty 1/5 Under an hour Newbie friendliness 82/100