[Buildroot] [PATCH 2/2] package/imagemagick: host SVG support needs host gcc >= 4.9

Giulio Benetti giulio.benetti at benettiengineering.com
Tue Dec 28 09:52:45 UTC 2021


On 28/12/21 10:46, Fabrice Fontaine wrote:
> Hi Giulio,
> 
> Le mar. 28 déc. 2021 à 10:44, Giulio Benetti
> <giulio.benetti at benettiengineering.com> a écrit :
>>
>> Hi Fabrice, Yann,
>>
>> On 19/12/21 10:10, Yann E. MORIN wrote:
>>> Fabrice, All,
>>>
>>> On 2021-12-19 00:11 +0100, Fabrice Fontaine spake thusly:
>>>> host gcc >= 4.9 is needed since bump of harfbuzz to version 3.1.2 in
>>>> commit 6861933d22006fbe8c961a41506beac826881f33 to avoid the following
>>>> build failure:
>>>>
>>>> In file included from ../src/hb-serialize.hh:36:0,
>>>>                    from ../src/hb-machinery.hh:37,
>>>>                    from ../src/hb-common.cc:30:
>>>> ../src/hb-map.hh:67:18: error: 'is_trivially_copyable' is not a member of 'std'
>>>>      static_assert (std::is_trivially_copyable<K>::value, "");
>>>>                     ^
>>>
>>> I replied to the wrong mail earlier, so FTR I'll paste it again below.
>>> Sorry for the noise...
>>>
>>> Where did you see that gcc 4.9 had it? I looked at the gcc-4_9_0-release
>>> tag in the gcc tree, and it states:
>>>
>>>       $ git grep is_trivially_copyable
>>>       [...]
>>>       libstdc++-v3/include/std/type_traits:  // is_trivially_copyable
>>> (still unimplemented)
>>>
>>> Whereas gcc 5 has a proper implementation:
>>>
>>>       $ git grep -A1 'is_trivially_copyable' libstdc++-v3/include/std/type_traits
>>>       libstdc++-v3/include/std/type_traits:  // is_trivially_copyable
>>>       libstdc++-v3/include/std/type_traits-  template<typename _Tp>
>>>       libstdc++-v3/include/std/type_traits:    struct is_trivially_copyable
>>>       libstdc++-v3/include/std/type_traits:    : public integral_constant<bool, __is_trivially_copyable(_Tp)>
>>>       libstdc++-v3/include/std/type_traits-    { };
>>>
>>> I see that 6861933d2200 (package/harfbuzz: bump to version 3.1.2) stated
>>> that the requirement on the gcc version was bumped to 4.9 from 4.8, but
>>> I am not sure how that can be...
>>
>> Indeed now it came out gcc 5 is needed.
>>
>>> Giulio, where did you get the info that gcc 4.9 was required (and not a
>>> higher version)?
>>
>> Honestly on trial and error with target toolchain, because with harfbuzz
>> 3.1.2 case it was only target related. And now I know I need to check
>> libstdc++ git instead(thank you for pointing me).
>>
>> So I've sent the patch for harfbuzz 3.2.0 with both host and target gcc
>> 5 dependency:
>> https://patchwork.ozlabs.org/project/buildroot/patch/20211228002227.15747-1-giulio.benetti@benettiengineering.com/
>>
>> That should fix the problem.
> I assume that you'll send a v3 of the above patch as the v2 doesn't
> update imagemagick. Am I right?

I was just writing you exactly that :-)!
I didn't think about the reverse dependencies of host-harfbuzz. Now I 
know that too.

Thanks a lot for pointing :-)
-- 
Giulio Benetti
Benetti Engineering sas

>>
>> Best regards
>> --
>> Giulio Benetti
>> Benetti Engineering sas
>>
>>> Regards,
>>> Yann E. MORIN.
>>>
>>>> Fixes:
>>>>    - http://autobuild.buildroot.org/results/89e1194c1659d7e1af9db8ffe5feee770c448f76
>>>>
>>>> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>>>> ---
>>>>    package/imagemagick/Config.in.host | 4 ++++
>>>>    1 file changed, 4 insertions(+)
>>>>
>>>> diff --git a/package/imagemagick/Config.in.host b/package/imagemagick/Config.in.host
>>>> index 671b0995dc..fe0ad9a748 100644
>>>> --- a/package/imagemagick/Config.in.host
>>>> +++ b/package/imagemagick/Config.in.host
>>>> @@ -17,6 +17,7 @@ if BR2_PACKAGE_HOST_IMAGEMAGICK
>>>>    config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG
>>>>       bool "SVG support"
>>>>       depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-librsvg
>>>> +    depends on BR2_HOST_GCC_AT_LEAST_4_9 # host-pango -> host-harfbuzz
>>>>       help
>>>>         Say 'y' here is you need ImageMagick tools (like convert)
>>>>         to support SVG.
>>>> @@ -24,4 +25,7 @@ config BR2_PACKAGE_HOST_IMAGEMAGICK_SVG
>>>>         This is not enabled by default, as it brings quite a few
>>>>         extra dependencies, and thus extra build time.
>>>>
>>>> +comment "SVG support needs a toolchain w/ host gcc >= 4.9"
>>>> +    depends on !BR2_HOST_GCC_AT_LEAST_4_9
>>>> +
>>>>    endif
>>>> --
>>>> 2.33.0
>>>>
>>>> _______________________________________________
>>>> buildroot mailing list
>>>> buildroot at buildroot.org
>>>> https://lists.buildroot.org/mailman/listinfo/buildroot
>>>
>>
> Best Regards,
> 
> Fabrice
> 




More information about the buildroot mailing list