I ran into a build failure for mesa 26.1.2 while testing the upgrade, and after
some investigation I believe the root cause is that mesa 26.1.x requires GCC 13
or later.
My host is Ubuntu 24.04, which ships GCC 13 by default, and mesa 26.1.2 builds
without any issues in that environment. However, when I explicitly switch to
GCC 11, the build fails with errors like:
expected identifier or '(' before ':' token
static assertion failed: "packed"
control reaches end of non-void function
These are caused by mesa's use of C23 features (e.g. enum : uint8_t syntax)
that are not available in GCC older then 13, and by some code paths that only
become problematic with the older compiler. I tried various workarounds
(passing -Dc_std=gnu2x, -Dwerror=false, etc.) but they are not sufficient
because mesa's internal meson definitions hard-code c_std=c11 for certain
components, which overrides our flags.
If we want to upgrade mesa to 26.1.x now, we likely need to bump the minimum
GCC version to 13 (or at least ensure GCC 13 is used for mesa).
Alternatively, we could hold off on the mesa upgrade.
Thanks
--
Best Regards
---------------------------------------------------
Wang Mingyu
FUJITSU NANJING SOFTWARE TECHNOLOGY CO., LTD. (FNST)
No.6 Wenzhu Road, Nanjing, 210012, China
TEL:+86+25-86630566--8568
COINS: 79988548
FAX: +86+25-83317685
MAIL: [email protected]
> -----Original Message-----
> From: Mathieu Dubois-Briand <[email protected]>
> Sent: Thursday, June 11, 2026 1:15 PM
> To: Wang, Mingyu/王 鸣瑜 <[email protected]>;
> [email protected]
> Subject: Re: [OE-core] [PATCH 15/16] mesa: upgrade 26.0.6 -> 26.1.2,26.0.6 ->
> 26.1.2
>
> On Wed Jun 10, 2026 at 11:49 AM CEST, wangmy via lists.openembedded.org
> wrote:
> > From: Wang Mingyu <[email protected]>
> >
> > Signed-off-by: Wang Mingyu <[email protected]>
> > ---
>
> Hi,
>
> Thanks for the upgrade.
>
> It looks like this is failing to build:
>
> ERROR: mesa-native-2_26.1.2-r0 do_compile: Execution of
> '/srv/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/x86_64-li
> nux/mesa-native/26.1.2/temp/run.do_compile.2839729' failed with exit code
> 1 ...
> | In file included
> from ../sources/mesa-26.1.2/src/intel/compiler/jay/jay_private.h:8,
> | from src/intel/compiler/jay/jay_nir_algebraic.c:1:
> | ../sources/mesa-26.1.2/src/intel/compiler/jay/jay_ir.h:582:22: error:
> expected
> identifier or ‘(’ before ‘:’ token
> | 582 | enum jay_predication : uint8_t {
> | | ^
> | ../sources/mesa-26.1.2/src/intel/compiler/jay/jay_ir.h:637:25: error: field
> ‘predication’ has incomplete type
> | 637 | enum jay_predication predication;
> | | ^~~~~~~~~~~
> | ../sources/mesa-26.1.2/src/intel/compiler/jay/jay_ir.h: In function
> ‘jay_inst_has_default’:
> | ../sources/mesa-26.1.2/src/intel/compiler/jay/jay_ir.h:681:29: error:
> ‘JAY_PREDICATED_DEFAULT’ undeclared (first use in this function)
> | 681 | return I->predication >= JAY_PREDICATED_DEFAULT;
> | | ^~~~~~~~~~~~~~~~~~~~~~
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/3/builds/3964
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/6/builds/3928
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/11/builds/3859
>
> Can you have a look at the issue?
>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#238598):
https://lists.openembedded.org/g/openembedded-core/message/238598
Mute This Topic: https://lists.openembedded.org/mt/119737187/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-