[Buildroot] [PATCH v2, 1/3] boost: add BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS

Arnout Vandecappelle arnout at mind.be
Mon Jul 2 23:11:44 UTC 2018



On 30-06-18 22:34, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue, 26 Jun 2018 00:02:35 +0200, Fabrice Fontaine wrote:
>> Rework boost-context dependencies and manage them through the hidden
>> BR2_PACKAGE_BOOST_CONTEXT_ARCH_SUPPORTS
>>
>> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>> ---
>>  package/boost/Config.in | 12 ++++++++++--
>>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> I've applied the series, thanks! On PATCH 3/3, as discussed, I
> refactored the Config.in comment about gcc bugs to have a single one. I
> also updated the commit log to (I believe) clarify the explanation.
> 
> Regarding Boost, I noticed that the dependencies still don't see to be
> correct. For example, if I enable just boost fiber, the boost fiber
> library installed looks like this:
> 
> $ readelf -d output/target/usr/lib/libboost_fiber.so.1.67.0 
> 
> Dynamic section at offset 0x44ed0 contains 34 entries:
>   Tag        Type                         Name/Value
>  0x00000001 (NEEDED)                     Shared library: [libboost_context.so.1.67.0]
>  0x00000001 (NEEDED)                     Shared library: [libboost_filesystem.so.1.67.0]
>  0x00000001 (NEEDED)                     Shared library: [libboost_system.so.1.67.0]
>  0x00000001 (NEEDED)                     Shared library: [librt.so.1]
>  0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
>  0x00000001 (NEEDED)                     Shared library: [libm.so.6]
>  0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
>  0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
>  0x00000001 (NEEDED)                     Shared library: [libc.so.6]
>  0x00000001 (NEEDED)                     Shared library: [ld-linux-armhf.so.3]
>  0x0000000e (SONAME)                     Library soname: [libboost_fiber.so.1.67.0]
> 
> I.e, it uses boost context (which is fixed by your patch) but also
> boost filesystem and boost system, which is not currently accounted by
> our Config.in dependencies.
> 
> It seems like when we disable a library using --without-libraries, it
> might still get built if we enable a library that uses it. Not nice to
> catch mistakes in our Config.in selects/dependencies.

 Perhaps we should add a check post-install, something like:

	$(foreach disabled,$(BOOST_WITHOUT_FLAGS),\
		test ! -e $(TARGET_DIR)/usr/lib/libboost_$(disabled).so.$(BOOST_VERSION))

 That way, the autobuilders should detect such problems.

 Regards,
 Arnout
-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF


More information about the buildroot mailing list