diff mbox series

CI: test external-arm-toolchain with usrmerge enabled

Message ID 20241021143841.110336-1-romain.naour@smile.fr
State New
Headers show
Series CI: test external-arm-toolchain with usrmerge enabled | expand

Commit Message

Romain Naour Oct. 21, 2024, 2:38 p.m. UTC
We want to test meta-arm-toolchain layer with usrmerge enabled [1]
since it produce some breakage with current external ARM toolchains [2].

Instead of using a custom setting (poky + usrmerge enabled), use the
existing poky-altcfg provided by Yocto. poky-altcfg uses systemd as
init system and imply usermerge being enabled since Yocto scarthgap
(new systemd v255 requirement) [3].

Note: It must be a 32bit machine, since there are currently no aarch64
host toolchains for aarch64 (some gitlab runner used by meta-arm are
aarch64 host) [4].

[1] https://docs.yoctoproject.org/scarthgap/ref-manual/features.html?highlight=usrmerge#distro-features
[2] https://lists.yoctoproject.org/g/meta-arm/message/5557
[3] https://git.openembedded.org/openembedded-core/commit/?id=802e853eeddf16d73db1900546cc5f045d1fb7ed
[4] 4bfa191ada5c44baaa1f4b8aabbeb314961c0134

Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
 .gitlab-ci.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Jon Mason Oct. 21, 2024, 9:53 p.m. UTC | #1
On Mon, Oct 21, 2024 at 04:38:41PM +0200, Romain Naour wrote:
> We want to test meta-arm-toolchain layer with usrmerge enabled [1]
> since it produce some breakage with current external ARM toolchains [2].
> 
> Instead of using a custom setting (poky + usrmerge enabled), use the
> existing poky-altcfg provided by Yocto. poky-altcfg uses systemd as
> init system and imply usermerge being enabled since Yocto scarthgap
> (new systemd v255 requirement) [3].
> 
> Note: It must be a 32bit machine, since there are currently no aarch64
> host toolchains for aarch64 (some gitlab runner used by meta-arm are
> aarch64 host) [4].
> 
> [1] https://docs.yoctoproject.org/scarthgap/ref-manual/features.html?highlight=usrmerge#distro-features
> [2] https://lists.yoctoproject.org/g/meta-arm/message/5557
> [3] https://git.openembedded.org/openembedded-core/commit/?id=802e853eeddf16d73db1900546cc5f045d1fb7ed
> [4] 4bfa191ada5c44baaa1f4b8aabbeb314961c0134
> 
> Signed-off-by: Romain Naour <romain.naour@smile.fr>

This change fails CI.  

meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
is trying to copy 3 files which do not exist.

cp: cannot stat '/builder/meta-arm/build/toolchains/arm/lib/gcc/arm-none-linux-gnueabihf/13.3.1/include/ssp': No such file or directory
cp: cannot stat '/builder/meta-arm/build/toolchains/arm/lib/gcc/arm-none-linux-gnueabihf/13.3.1/include/sanitizers': No such file or directory
cp: cannot stat '/builder/meta-arm/build/toolchains/arm/lib/gcc/arm-none-linux-gnueabihf/13.3.1/include/quadmath*': No such file or directory

See https://gitlab.com/jonmason00/meta-arm/-/jobs/8143315096

It's fairly trivial to duplicate locally.  Just run:
./ci/get-binary-toolchains
kas build ci/qemuarm-secureboot.yml:ci/external-gccarm.yml:ci/poky-altcfg.yml:ci/testimage.yml

Thanks,
Jon

> ---
>  .gitlab-ci.yml | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index f211ea97..0e9ad688 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -295,7 +295,8 @@ qemuarm-secureboot:
>          TOOLCHAINS: [gcc, clang]
>          TCLIBC: [glibc, musl]
>          TESTING: testimage
> -      - TOOLCHAINS: external-gccarm
> +      - DISTRO: [poky, poky-altcfg]
> +        TOOLCHAINS: external-gccarm
>          TESTING: testimage
>        - KERNEL: linux-yocto-dev
>          TESTING: testimage
> -- 
> 2.45.0
> 
>
Romain Naour Oct. 25, 2024, 4:48 p.m. UTC | #2
Hello Jon, All,

Le 21/10/2024 à 23:53, Jon Mason a écrit :
> On Mon, Oct 21, 2024 at 04:38:41PM +0200, Romain Naour wrote:
>> We want to test meta-arm-toolchain layer with usrmerge enabled [1]
>> since it produce some breakage with current external ARM toolchains [2].
>>
>> Instead of using a custom setting (poky + usrmerge enabled), use the
>> existing poky-altcfg provided by Yocto. poky-altcfg uses systemd as
>> init system and imply usermerge being enabled since Yocto scarthgap
>> (new systemd v255 requirement) [3].
>>
>> Note: It must be a 32bit machine, since there are currently no aarch64
>> host toolchains for aarch64 (some gitlab runner used by meta-arm are
>> aarch64 host) [4].
>>
>> [1] https://docs.yoctoproject.org/scarthgap/ref-manual/features.html?highlight=usrmerge#distro-features
>> [2] https://lists.yoctoproject.org/g/meta-arm/message/5557
>> [3] https://git.openembedded.org/openembedded-core/commit/?id=802e853eeddf16d73db1900546cc5f045d1fb7ed
>> [4] 4bfa191ada5c44baaa1f4b8aabbeb314961c0134
>>
>> Signed-off-by: Romain Naour <romain.naour@smile.fr>
> 
> This change fails CI.  

Indeed, the CI doesn't cover all external-arm-toolchain use case and this patch
is meant to reproduce the issue reported on the mailing-list [1].

Now that the scarthgap is released and used to release new vendor SDK, end users
will encounter this issue when systemd (imply usrmerge) and
external-arm-toolchain are used.

I'll respin the patch series addressing the meson/qemu-user runtime issue, but
any help is welcome.

[1] https://lists.yoctoproject.org/g/meta-arm/message/5557

Best regards,
Romain

> 
> meta-arm-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb
> is trying to copy 3 files which do not exist.
> 
> cp: cannot stat '/builder/meta-arm/build/toolchains/arm/lib/gcc/arm-none-linux-gnueabihf/13.3.1/include/ssp': No such file or directory
> cp: cannot stat '/builder/meta-arm/build/toolchains/arm/lib/gcc/arm-none-linux-gnueabihf/13.3.1/include/sanitizers': No such file or directory
> cp: cannot stat '/builder/meta-arm/build/toolchains/arm/lib/gcc/arm-none-linux-gnueabihf/13.3.1/include/quadmath*': No such file or directory
> 
> See https://gitlab.com/jonmason00/meta-arm/-/jobs/8143315096
> 
> It's fairly trivial to duplicate locally.  Just run:
> ./ci/get-binary-toolchains
> kas build ci/qemuarm-secureboot.yml:ci/external-gccarm.yml:ci/poky-altcfg.yml:ci/testimage.yml
> 
> Thanks,
> Jon
> 
>> ---
>>  .gitlab-ci.yml | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index f211ea97..0e9ad688 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
>> @@ -295,7 +295,8 @@ qemuarm-secureboot:
>>          TOOLCHAINS: [gcc, clang]
>>          TCLIBC: [glibc, musl]
>>          TESTING: testimage
>> -      - TOOLCHAINS: external-gccarm
>> +      - DISTRO: [poky, poky-altcfg]
>> +        TOOLCHAINS: external-gccarm
>>          TESTING: testimage
>>        - KERNEL: linux-yocto-dev
>>          TESTING: testimage
>> -- 
>> 2.45.0
>>
>>
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f211ea97..0e9ad688 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -295,7 +295,8 @@  qemuarm-secureboot:
         TOOLCHAINS: [gcc, clang]
         TCLIBC: [glibc, musl]
         TESTING: testimage
-      - TOOLCHAINS: external-gccarm
+      - DISTRO: [poky, poky-altcfg]
+        TOOLCHAINS: external-gccarm
         TESTING: testimage
       - KERNEL: linux-yocto-dev
         TESTING: testimage