[Buildroot] Analysis of build failures
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Fri May 15 15:17:23 UTC 2015
Dear Waldemar Brodkorb,
On Fri, 15 May 2015 16:06:33 +0200, Waldemar Brodkorb wrote:
> Hi,
> Thomas Petazzoni wrote,
>
> > > powerpc | boost-1.57.0 | NOK | http://autobuild.buildroot.net/results/9faeba9f811bb3507861003d78eec245f8a93db9/
> > > nios2 | boost-1.57.0 | NOK | http://autobuild.buildroot.net/results/46f9d84e6db10ce7cbe48653f6da4450aceceb4c/
> > > powerpc | boost-1.57.0 | NOK | http://autobuild.buildroot.net/results/7852f40e6bae93f953a588bbd6902c2b1cee8a42/
> > > powerpc | boost-1.57.0 | NOK | http://autobuild.buildroot.net/results/13b43105caf4d3952de70030b51f8d96cf6604ee/
> > > nios2 | boost-1.57.0 | NOK | http://autobuild.buildroot.net/results/e119b1ef55c546e0d0598b85c46ceefa5c43d5a6/
> >
> > The nios2 problems are due to a toolchain issue. We should simply
> > disable boost with this toolchain.
> >
> > The PowerPC problems are due to a uClibc bug. I've done some tests, and
> > boost-1.57.0 builds fine on PowerPC/glibc, ARM/uClibc, but fails on
> > PowerPC/uClibc. It's the boost-log module that causes the problem.
>
> Where do you see a uClibc problem?
Well, it simply works fine with PowerPC/glibc, and ARM/uClibc, but not
PowerPC/uClibc.
> Any short error message?
See the powerpc failures above, and search for 'error:'. The errors are:
./boost/spirit/home/support/detail/sign.hpp:60:36: error: no type named 'bits' in 'traits_type {aka struct boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>}'
typename traits_type::bits a;
^
./boost/spirit/home/support/detail/sign.hpp:61:35: error: 'get_bits' is not a member of 'traits_type {aka boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>}'
traits_type::get_bits(x, a);
^
./boost/spirit/home/support/detail/sign.hpp:60:36: error: no type named 'bits' in 'traits_type {aka struct boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>}'
typename traits_type::bits a;
^
./boost/spirit/home/support/detail/sign.hpp:62:11: error: 'sign' is not a member of 'traits_type {aka boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>}'
a ^= traits_type::sign;
^
./boost/spirit/home/support/detail/sign.hpp:60:36: error: no type named 'bits' in 'traits_type {aka struct boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>}'
typename traits_type::bits a;
^
./boost/spirit/home/support/detail/sign.hpp:63:35: error: 'set_bits' is not a member of 'traits_type {aka boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>}'
traits_type::set_bits(x, a);
^
./boost/spirit/home/support/detail/sign.hpp:60:36: error: no type named 'bits' in 'traits_type {aka struct boost::math::detail::fp_traits_non_native<long double, boost::math::detail::extended_double_precision>}'
typename traits_type::bits a;
^
> I tried boost 1.57 with PPC and getting GCC ICE when using 4.9.2
> while compiling test.
Weird, it builds just fine here, as long as you disable the boost-log
component, which is the one causing the build error above.
> With GCC 5.1 the compile works fine.
> Both tested with uClibc-ng (ppc soft-float target)
Note that I don't think I have tested with uClibc-ng.
Here is a defconfig that fails:
BR2_powerpc=y
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
BR2_TOOLCHAIN_BUILDROOT_INET_RPC=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_GCC_VERSION_4_9_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_PACKAGE_BOOST=y
BR2_PACKAGE_BOOST_CONTEXT=y
BR2_PACKAGE_BOOST_EXCEPTION=y
BR2_PACKAGE_BOOST_LOCALE=y
BR2_PACKAGE_BOOST_LOG=y
BR2_PACKAGE_BOOST_SYSTEM=y
BR2_PACKAGE_BOOST_WAVE=y
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the buildroot
mailing list