package/boost: Disable fenv support with uClibc
PATCH v2 1/1 package/boost: Disable fenv support with uClibc
The boost build system does not recognize the fact that fenv.h is an optional module in uClibc and tries to use it even if UCLIBC_HAS_FENV is disabled. This patch disables fenv support completely when compiling with a uClibc-based toolchain.
Fixes
http://autobuild.buildroot.net/results/160/160e1b98b204148ecf128144826554b6c523931b/
and many others
---
v2: updated patch to define BOOST_NO_FENV_H for the linux platform config
instead of patching the boost source directly
package/boost/0006-uclibc-fenv.patch | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 package/boost/0006-uclibc-fenv.patch
package/boost/0006-uclibc-fenv.patch new file +26 -0
@@ -0,0 +1,26 @@ +Disable fenv.h support for uClibc-based toolchains. + +The boost build system does not recognize the fact that fenv.h is an +optional module in uClibc and tries to use it even if UCLIBC_HAS_FENV +is disabled. This patch disables fenv support completely when compiling +with a uClibc-based toolchain. Bug was reported upstream: +https://svn.boost.org/trac/boost/ticket/11756 + +Signed-off-by: Bernd Kuhls <[email protected]> + +--- boost_1_60_0.org/boost/config/platform/linux.hpp 2015-12-08 19:55:19.000000000 +0100 ++++ boost_1_60_0/boost/config/platform/linux.hpp 2016-02-06 12:35:25.692754553 +0100 +@@ -47,6 +47,13 @@ + #endif + + // ++// uClibc has no support for fenv.h ++// ++#if defined(__UCLIBC__) ++# define BOOST_NO_FENV_H ++#endif ++ ++// + // If glibc is past version 2 then we definitely have + // gettimeofday, earlier versions may or may not have it: + //
Signature · 1 line
2.7.0
PATCH v2 1/1 package/boost: Disable fenv support with uClibc
Dear Bernd Kuhls,
Quoted 5 lines · Bernd Kuhls
The boost build system does not recognize the fact that
fenv.his an optional module in uClibc and tries to use it even ifUCLIBC_HAS_FENVis disabled. This patch disables fenv support completely when compiling with a uClibc-based toolchain.
Quoted 8 lines
Fixes
http://autobuild.buildroot.net/results/160/160e1b98b204148ecf128144826554b6c523931b/
and many othersSigned-off-by Bernd Kuhls <[email protected]>---
v2: updated patch to defineBOOST_NO_FENV_Hfor the linux platform config
instead of patching the boost source directly
Thanks for this new version. However I still don't understand why the boost tests that check for the availability of the different FE_* defines don't work properly.
See libs/config/test/boost_no_fenv_h.ipp.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/1 package/boost: Disable fenv support with uClibc
In reply to Bernd KuhlsDear Bernd Kuhls,
Quoted 5 lines · Bernd Kuhls
The boost build system does not recognize the fact that
fenv.his an optional module in uClibc and tries to use it even ifUCLIBC_HAS_FENVis disabled. This patch disables fenv support completely when compiling with a uClibc-based toolchain.
Quoted 8 lines
Fixes
http://autobuild.buildroot.net/results/160/160e1b98b204148ecf128144826554b6c523931b/
and many othersSigned-off-by Bernd Kuhls <[email protected]>---
v2: updated patch to defineBOOST_NO_FENV_Hfor the linux platform config
instead of patching the boost source directly
As I said, I'm still not entirely happy with this solution, but nobody was able to find a better solution, and we need to fix this problem.
So: applied. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com