[Buildroot] systemd 245 build issues with the old codesourcery ARM 2014.05 toolchain

Romain Naour romain.naour at smile.fr
Sat Apr 4 19:19:30 UTC 2020


Hi Yann, All,

Le 04/04/2020 à 19:53, Yann E. MORIN a écrit :
> Romain, All,
> 
> On 2020-04-04 19:43 +0200, Romain Naour spake thusly:
>> Since the last systemd bump to version 245, all our systemd based tests are
>> failing to build:
> [--SNIP--]
>> This is due to the following build issue:
>> ../src/shared/gpt.c:7:9: error: initializer element is not constant
>>          { GPT_ROOT_X86,              "root-x86"              },
> [--SNIP--]
>> While searching for "error: initializer element is not constant" message, I
>> noticed a note about gcc 5 change about "Initializing statics with compound
>> literals":
>>
>> https://gcc.gnu.org/gcc-5/porting_to.html
>>
>> I'm not sure it's worth the effort to patch and try to upstream a patch to
>> systemd for the sake of building systemd with such old compiler (gcc < 5.0).
> 
> What about this patch:
> 
>     diff --git a/package/systemd/Config.in b/package/systemd/Config.in
>     index bd638477a0..1280d82902 100644
>     --- a/package/systemd/Config.in
>     +++ b/package/systemd/Config.in
>     @@ -19,6 +19,7 @@ menuconfig BR2_PACKAGE_SYSTEMD
>      	depends on !BR2_STATIC_LIBS # kmod
>      	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus
>      	depends on BR2_USE_MMU # dbus
>     +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
>      	select BR2_PACKAGE_HAS_UDEV
>      	select BR2_PACKAGE_DBUS # runtime dependency only
>      	select BR2_PACKAGE_LIBCAP
>     diff --git a/system/Config.in b/system/Config.in
>     index c8c5be40e0..8c1d47f13f 100644
>     --- a/system/Config.in
>     +++ b/system/Config.in
>     @@ -121,6 +121,7 @@ config BR2_INIT_SYSTEMD
>      	depends on BR2_USE_MMU
>      	depends on !BR2_STATIC_LIBS
>      	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
>     +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
>      	select BR2_ROOTFS_MERGED_USR
>      	select BR2_PACKAGE_SYSTEMD

I would restrict to BR2_TOOLCHAIN_GCC_AT_LEAST_5.

But then, we have to update InitSystemSystemdBase to use another toolchain since
the codesourcery ARM 2014.05 will not be usable.

I can provide patches if every one is ok to use a bootlin toolchain 2017.05 or
later :)

Best regards,
Romain


>      
> 
> Regards,
> Yann E. MORIN.
> 




More information about the buildroot mailing list