Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2
@ 2016-09-21 23:31 Jörg Krause
  2016-09-21 23:31 ` [Buildroot] [PATCH 2/3] package/ola: disable fatal warnings for host variant Jörg Krause
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jörg Krause @ 2016-09-21 23:31 UTC (permalink / raw)
  To: buildroot

Remove fetching upstream which was needed to fix musl build issue.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/ola/ola.hash | 3 +--
 package/ola/ola.mk   | 6 +++---
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/package/ola/ola.hash b/package/ola/ola.hash
index 628b525..a791e9c 100644
--- a/package/ola/ola.hash
+++ b/package/ola/ola.hash
@@ -1,3 +1,2 @@
 # Locally calculated
-sha256 74baba18c5b62aba15e27e6b7882c6eac22043c8e7b297e4d2f6eb05dd1a33b0 ola-0.10.0.tar.gz
-sha256 32a8a7a00c7db7647710c84ed02611f2eba99669f2de4da7aceae9d4444f53a3 34999c70dcbe2d38bf13d57c9cfbdc63f0899b9a.patch
+sha256  986e61874bc80db3b23cf201af2dafa39e3412cc50cddf1cd449c869110bfd27  ola-0.10.2.tar.gz
diff --git a/package/ola/ola.mk b/package/ola/ola.mk
index a983459..6f62a17 100644
--- a/package/ola/ola.mk
+++ b/package/ola/ola.mk
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-OLA_VERSION = 0.10.0
-OLA_SITE = $(call github,OpenLightingProject,ola,$(OLA_VERSION))
-OLA_PATCH = https://github.com/OpenLightingProject/ola/commit/34999c70dcbe2d38bf13d57c9cfbdc63f0899b9a.patch
+OLA_VERSION = 0.10.2
+OLA_SOURCE = ola-$(OLA_VERSION).tar.gz
+OLA_SITE = https://github.com/OpenLightingProject/ola/releases/download/$(OLA_VERSION)
 OLA_LICENSE = LGPLv2.1+ (libola, libolacommon, Python bindings), GPLv2+ (libolaserver, olad, Python examples and tests)
 OLA_LICENSE_FILES = LICENCE GPL LGPL
 OLA_INSTALL_STAGING = YES
-- 
2.10.0

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

* [Buildroot] [PATCH 2/3] package/ola: disable fatal warnings for host variant
  2016-09-21 23:31 [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2 Jörg Krause
@ 2016-09-21 23:31 ` Jörg Krause
  2016-09-21 23:31 ` [Buildroot] [PATCH 3/3] package/ola: add patch to fix build with GCC 6 Jörg Krause
  2016-09-23  5:59 ` [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2 Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Jörg Krause @ 2016-09-21 23:31 UTC (permalink / raw)
  To: buildroot

By default the build system of OLA passes '-Werror' to GCC. The aborts
compilation with GCC 6:

'''
error: ?template<class> class std::auto_ptr? is deprecated
[-Werror=deprecated-declarations]
'''

The target variant already passes the option "-disable-fatal-warnings"
to the build system to disable '-Werror'. Do it for the host variant to
to fix build with host GCC 6.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/ola/ola.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/ola/ola.mk b/package/ola/ola.mk
index 6f62a17..75ab25e 100644
--- a/package/ola/ola.mk
+++ b/package/ola/ola.mk
@@ -40,7 +40,8 @@ HOST_OLA_CONF_OPTS = \
 	--disable-examples \
 	--disable-unittests \
 	--disable-doxygen-html \
-	--disable-doxygen-doc
+	--disable-doxygen-doc \
+	--disable-fatal-warnings
 
 # On the host side, we only need ola_protoc_plugin, so build and install this
 # only.
-- 
2.10.0

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

* [Buildroot] [PATCH 3/3] package/ola: add patch to fix build with GCC 6
  2016-09-21 23:31 [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2 Jörg Krause
  2016-09-21 23:31 ` [Buildroot] [PATCH 2/3] package/ola: disable fatal warnings for host variant Jörg Krause
@ 2016-09-21 23:31 ` Jörg Krause
  2016-09-23  5:59 ` [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2 Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Jörg Krause @ 2016-09-21 23:31 UTC (permalink / raw)
  To: buildroot

Fixes:
http://autobuild.buildroot.net/results/2d5/2d55b5d88a06c7b8e6baeb96973009a451e992d9/
http://autobuild.buildroot.net/results/899/89922e61c583cf1d11bd0bafdd5586c35d8f6e15/
http://autobuild.buildroot.net/results/d5b/d5b8fe66ff8d9ea91e87ef6fbe8274f5e24aa7b0/
http://autobuild.buildroot.net/results/89b/89b136e6dced6ca9842a1f23141b0cb999f783da/
.. and many more.

Building OLA with a GCC 6 cross-toolchain fails:

```
/usr/bin/arm-linux-g++ -DHAVE_CONFIG_H -I.   -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./include -I./include
-Wall -Wformat -W -isystem
/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -pthread
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os
-pthread -c -o libs/acn/e131_transmit_test.o
libs/acn/e131_transmit_test.cpp
/usr/bin/arm-linux-g++ -DHAVE_CONFIG_H -I.   -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./include -I./include
-Wall -Wformat -W -isystem
/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -pthread
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os
-pthread -c -o libs/acn/E131TestFramework.o
libs/acn/E131TestFramework.cpp
In file included from
/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/ext/string_conversions.h:41:0,
                 from
/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/bits/basic_string.h:5402,
                 from
/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/string:52,
                 from ./tools/ola_trigger/config.ypp:2:
/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/cstdlib:75:25:
fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>
                         ^
compilation terminated.
```

The C++ library in GCC 6 now provides its own `<stdlib.h>` header that
wraps the C library header of the same name, so in `<cstdlib>` the
header include

```
#include <stdlib.h>
```

has become

```
#include_next <stdlib.h>
```

`#include_next` is sensitive to the order of directories in the
preprocessor's search path, so if that order is changed with `-isystem`
then the compiler can't find the right header:

```
[1] /usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include
[2] /opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0
[..]
End of search list.
```

`<cstdlib>` is located in [2] whereas `<stdlib.h>` (C library header) is
in [1]. In this case, the `#include_next <stdlib.h>` statement in
`<cstdlib>`, located in [2], is evaluated **after** the search path [1],
so the compiler does not find the right system header.

The problem here is that the OLA build system replaces the `-I` in the CFLAGS
from libprotobuf with `-isystem` to fix some warnings treated as errors
in the libprotobuf header files.

`-isystem` should be used to suppress warnings in system headers only
and the libprotobuf header files are not system files.

The correct fix is to compile with less restrictions and remove
`-Werror` for the build. This is already done by passing
`--disable-fatal-warnings` to OLA.

Fix the reordering of the GCC search paths by removing the replacement of
`-I` with `-isystem`.

Upstream status: https://github.com/OpenLightingProject/ola/pull/1126

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 .../ola/0002-Remove-replacing-I-with-isystem.patch | 106 +++++++++++++++++++++
 1 file changed, 106 insertions(+)
 create mode 100644 package/ola/0002-Remove-replacing-I-with-isystem.patch

diff --git a/package/ola/0002-Remove-replacing-I-with-isystem.patch b/package/ola/0002-Remove-replacing-I-with-isystem.patch
new file mode 100644
index 0000000..010c99a
--- /dev/null
+++ b/package/ola/0002-Remove-replacing-I-with-isystem.patch
@@ -0,0 +1,106 @@
+From bbb03794def326c2e8ad2de523c5a61a4c8cb464 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Thu, 22 Sep 2016 00:58:58 +0200
+Subject: [PATCH] Remove replacing -I with -isystem
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Building OLA with a GCC 6 cross-toolchain fails:
+
+```
+/usr/bin/arm-linux-g++ -DHAVE_CONFIG_H -I.   -D_LARGEFILE_SOURCE
+-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./include -I./include
+-Wall -Wformat -W -isystem
+/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -pthread
+-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os
+-pthread -c -o libs/acn/e131_transmit_test.o
+libs/acn/e131_transmit_test.cpp
+/usr/bin/arm-linux-g++ -DHAVE_CONFIG_H -I.   -D_LARGEFILE_SOURCE
+-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I./include -I./include
+-Wall -Wformat -W -isystem
+/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include -pthread
+-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os
+-pthread -c -o libs/acn/E131TestFramework.o
+libs/acn/E131TestFramework.cpp
+In file included from
+/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/ext/string_conversions.h:41:0,
+                 from
+/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/bits/basic_string.h:5402,
+                 from
+/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/string:52,
+                 from ./tools/ola_trigger/config.ypp:2:
+/opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0/cstdlib:75:25:
+fatal error: stdlib.h: No such file or directory
+ #include_next <stdlib.h>
+                         ^
+compilation terminated.
+```
+
+The C++ library in GCC 6 now provides its own `<stdlib.h>` header that
+wraps the C library header of the same name, so in `<cstdlib>` the
+header include
+
+```
+#include <stdlib.h>
+```
+
+has become
+
+```
+#include_next <stdlib.h>
+```
+
+`#include_next` is sensitive to the order of directories in the
+preprocessor's search path, so if that order is changed with `-isystem`
+then the compiler can't find the right header:
+
+```
+[1] /usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include
+[2] /opt/ext-toolchain/arm-buildroot-linux-gnueabihf/include/c++/6.1.0
+[..]
+End of search list.
+```
+
+`<cstdlib>` is located in [2] whereas `<stdlib.h>` (C library header) is
+in [1]. In this case, the `#include_next <stdlib.h>` statement in
+`<cstdlib>`, located in [2], is evaluated **after** the search path [1],
+so the compiler does not find the right system header.
+
+The problem is that the OLA build system replaces the `-I` in the CFLAGS
+from libprotobuf with `-isystem` to fix some warnings treated as errors
+in the libprotobuf header files.
+
+`-isystem` should be used to suppress warnings in system headers only
+and the libprotobuf header files are not system files.
+
+The correct fix is to compile with less restrictions and remove
+`-Werror` for the build.
+
+As using `-isystem` is reordering GCCs search path and using `-isystem`
+is really not necessary, remove the faulty replacement of `-I`.
+
+Upstream status: https://github.com/OpenLightingProject/ola/pull/1126
+
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ config/ola.m4 | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/config/ola.m4 b/config/ola.m4
+index 2796cfb..d3b8cc8 100644
+--- a/config/ola.m4
++++ b/config/ola.m4
+@@ -24,9 +24,6 @@ AC_DEFUN([PROTOBUF_SUPPORT],
+ AC_REQUIRE_CPP()
+ PKG_CHECK_MODULES(libprotobuf, [protobuf >= $1])
+ 
+-# We want to replace -I with -isystem here to disable errors in the .h files
+-# See https://groups.google.com/forum/#!topic/open-lighting/39Mj0KXlCIk
+-libprotobuf_CFLAGS=`echo $libprotobuf_CFLAGS | sed 's/-I/-isystem /'`
+ AC_SUBST([libprotobuf_CFLAGS])
+ 
+ AC_ARG_WITH([protoc],
+-- 
+2.10.0
+
-- 
2.10.0

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

* [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2
  2016-09-21 23:31 [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2 Jörg Krause
  2016-09-21 23:31 ` [Buildroot] [PATCH 2/3] package/ola: disable fatal warnings for host variant Jörg Krause
  2016-09-21 23:31 ` [Buildroot] [PATCH 3/3] package/ola: add patch to fix build with GCC 6 Jörg Krause
@ 2016-09-23  5:59 ` Thomas Petazzoni
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-09-23  5:59 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 22 Sep 2016 01:31:41 +0200, J?rg Krause wrote:
> Remove fetching upstream which was needed to fix musl build issue.
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
>  package/ola/ola.hash | 3 +--
>  package/ola/ola.mk   | 6 +++---
>  2 files changed, 4 insertions(+), 5 deletions(-)

All three patches applied, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

end of thread, other threads:[~2016-09-23  5:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-21 23:31 [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2 Jörg Krause
2016-09-21 23:31 ` [Buildroot] [PATCH 2/3] package/ola: disable fatal warnings for host variant Jörg Krause
2016-09-21 23:31 ` [Buildroot] [PATCH 3/3] package/ola: add patch to fix build with GCC 6 Jörg Krause
2016-09-23  5:59 ` [Buildroot] [PATCH 1/3] package/ola: bump to version 0.10.2 Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox