* [Buildroot] [PATCH 1/1] package/boost: fix build with uClibc-ng
@ 2016-01-30 22:02 Bernd Kuhls
2016-01-31 7:37 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Bernd Kuhls @ 2016-01-30 22:02 UTC (permalink / raw)
To: buildroot
Fixes
http://autobuild.buildroot.net/results/fde/fdefe50f4a1ff0888105feedbabab186ab6294cb/
http://autobuild.buildroot.net/results/f49/f49dc42d81a3abf5515ef68940037e34caee6a1e/
and others
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
package/boost/0006-uclibc-no-fenv.patch | 39 +++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
create mode 100644 package/boost/0006-uclibc-no-fenv.patch
diff --git a/package/boost/0006-uclibc-no-fenv.patch b/package/boost/0006-uclibc-no-fenv.patch
new file mode 100644
index 0000000..88cd440
--- /dev/null
+++ b/package/boost/0006-uclibc-no-fenv.patch
@@ -0,0 +1,39 @@
+Fix build with uClibc
+
+Our config does not enable UCLIBC_HAS_FENV which breaks the build.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+diff -uNr boost_1_60_0.org/boost/test/execution_monitor.hpp boost_1_60_0/boost/test/execution_monitor.hpp
+--- boost_1_60_0.org/boost/test/execution_monitor.hpp 2015-12-06 09:50:28.000000000 +0100
++++ boost_1_60_0/boost/test/execution_monitor.hpp 2016-01-30 22:55:36.000000000 +0100
+@@ -484,7 +484,7 @@
+ BOOST_FPE_UNDERFLOW = EM_UNDERFLOW|EM_DENORMAL,
+
+ BOOST_FPE_ALL = MCW_EM,
+-#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG)
++#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) || defined(__UCLIBC__)
+ BOOST_FPE_ALL = 1,
+ #else
+ BOOST_FPE_DIVBYZERO = FE_DIVBYZERO,
+diff -uNr boost_1_60_0.org/boost/test/impl/execution_monitor.ipp boost_1_60_0/boost/test/impl/execution_monitor.ipp
+--- boost_1_60_0.org/boost/test/impl/execution_monitor.ipp 2015-12-06 09:50:28.000000000 +0100
++++ boost_1_60_0/boost/test/impl/execution_monitor.ipp 2016-01-30 22:56:53.000000000 +0100
+@@ -1379,7 +1379,7 @@
+ #endif
+
+ return ~old_cw & BOOST_FPE_ALL;
+-#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
++#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) && !defined(__UCLIBC__)
+ ::feclearexcept(BOOST_FPE_ALL);
+ int res = ::feenableexcept( mask );
+ return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
+@@ -1416,7 +1416,7 @@
+ #endif
+
+ return ~old_cw & BOOST_FPE_ALL;
+-#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H)
++#elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) && !defined(__UCLIBC__)
+ ::feclearexcept(BOOST_FPE_ALL);
+ int res = ::fedisableexcept( mask );
+ return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res;
--
2.7.0.rc3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/1] package/boost: fix build with uClibc-ng
2016-01-30 22:02 [Buildroot] [PATCH 1/1] package/boost: fix build with uClibc-ng Bernd Kuhls
@ 2016-01-31 7:37 ` Thomas Petazzoni
2016-02-06 11:56 ` Bernd Kuhls
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2016-01-31 7:37 UTC (permalink / raw)
To: buildroot
Bernd,
On Sat, 30 Jan 2016 23:02:59 +0100, Bernd Kuhls wrote:
> Fixes
> http://autobuild.buildroot.net/results/fde/fdefe50f4a1ff0888105feedbabab186ab6294cb/
> http://autobuild.buildroot.net/results/f49/f49dc42d81a3abf5515ef68940037e34caee6a1e/
> and others
>
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
> ---
> package/boost/0006-uclibc-no-fenv.patch | 39 +++++++++++++++++++++++++++++++++
> 1 file changed, 39 insertions(+)
> create mode 100644 package/boost/0006-uclibc-no-fenv.patch
Thanks a lot for looking into the boost issue. I have some question
below.
> +diff -uNr boost_1_60_0.org/boost/test/execution_monitor.hpp boost_1_60_0/boost/test/execution_monitor.hpp
> +--- boost_1_60_0.org/boost/test/execution_monitor.hpp 2015-12-06 09:50:28.000000000 +0100
> ++++ boost_1_60_0/boost/test/execution_monitor.hpp 2016-01-30 22:55:36.000000000 +0100
> +@@ -484,7 +484,7 @@
> + BOOST_FPE_UNDERFLOW = EM_UNDERFLOW|EM_DENORMAL,
> +
> + BOOST_FPE_ALL = MCW_EM,
> +-#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG)
> ++#elif defined(BOOST_NO_FENV_H) || defined(BOOST_CLANG) || defined(__UCLIBC__)
Boost already checks for the availability of fenv functionality, and
should set BOOST_NO_FENV_H if fenv functionality is not there.
Do you have any idea why the check doesn't work ? We shouldn't have to
add this defined(__UCLIBC__) thing, since Boost should have detected
that uClibc doesn't provide a complete fenv implementation, and define
BOOST_NO_FENV_H.
I've tried to go through the Boost mechanism that does this test, but
it is really not conventional, so I couldn't so far figure out how it
was all working.
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
* [Buildroot] [PATCH 1/1] package/boost: fix build with uClibc-ng
2016-01-31 7:37 ` Thomas Petazzoni
@ 2016-02-06 11:56 ` Bernd Kuhls
0 siblings, 0 replies; 3+ messages in thread
From: Bernd Kuhls @ 2016-02-06 11:56 UTC (permalink / raw)
To: buildroot
Hi Thomas,
Am Sun, 31 Jan 2016 08:37:49 +0100 schrieb Thomas Petazzoni:
> Boost already checks for the availability of fenv functionality, and
> should set BOOST_NO_FENV_H if fenv functionality is not there.
[...]
> Do you have any idea why the check doesn't work ?
No.
> I've tried to go through the Boost mechanism that does this test, but
> it is really not conventional, so I couldn't so far figure out how it
> was all working.
Let's see what the result of the upstream bug report[1] will be. Until
then we can try this new fix: http://patchwork.ozlabs.org/patch/579807/
or, alternatively, we can disable BR2_PACKAGE_BOOST_TEST for
BR2_TOOLCHAIN_USES_UCLIBC=y. At least this will make to autobuilders
happy ;)
Regards, Bernd
[1] https://svn.boost.org/trac/boost/ticket/11756
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-02-06 11:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-30 22:02 [Buildroot] [PATCH 1/1] package/boost: fix build with uClibc-ng Bernd Kuhls
2016-01-31 7:37 ` Thomas Petazzoni
2016-02-06 11:56 ` Bernd Kuhls
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox