Minor: Configuring with multiple RTEMS targets

オープン
#95 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
github-actions, python
領域
ci-cd

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
8
フォーク
21
平均マージ
13時間 50分
マージ済み PR(30日)
3

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

epics-base/ci-scripts のほかの issue

epics-base/ci-scripts の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。