All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/boost: Disable fenv support with uClibc
@ 2016-02-06 11:51 Bernd Kuhls
  2016-02-07 18:25 ` Thomas Petazzoni
  2016-02-13 15:46 ` Thomas Petazzoni
  0 siblings, 2 replies; 3+ messages in thread
From: Bernd Kuhls @ 2016-02-06 11:51 UTC (permalink / raw)
  To: buildroot

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

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
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

diff --git a/package/boost/0006-uclibc-fenv.patch b/package/boost/0006-uclibc-fenv.patch
new file mode 100644
index 0000000..ea10f8c
--- /dev/null
+++ b/package/boost/0006-uclibc-fenv.patch
@@ -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 <bernd.kuhls@t-online.de>
+
+--- 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:
+ //
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/boost: Disable fenv support with uClibc
  2016-02-06 11:51 [Buildroot] [PATCH v2 1/1] package/boost: Disable fenv support with uClibc Bernd Kuhls
@ 2016-02-07 18:25 ` Thomas Petazzoni
  2016-02-13 15:46 ` Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2016-02-07 18:25 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Sat,  6 Feb 2016 12:51:20 +0100, Bernd Kuhls wrote:
> 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
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v2: updated patch to define BOOST_NO_FENV_H for 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
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/boost: Disable fenv support with uClibc
  2016-02-06 11:51 [Buildroot] [PATCH v2 1/1] package/boost: Disable fenv support with uClibc Bernd Kuhls
  2016-02-07 18:25 ` Thomas Petazzoni
@ 2016-02-13 15:46 ` Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2016-02-13 15:46 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Sat,  6 Feb 2016 12:51:20 +0100, Bernd Kuhls wrote:
> 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
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> v2: updated patch to define BOOST_NO_FENV_H for 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
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-02-13 15:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-06 11:51 [Buildroot] [PATCH v2 1/1] package/boost: Disable fenv support with uClibc Bernd Kuhls
2016-02-07 18:25 ` Thomas Petazzoni
2016-02-13 15:46 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.