Commit Graph

30 Commits

Author SHA1 Message Date
Jörg Krause
e79272fa7f package/ola: add patch to fix build with GCC 6
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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-22 20:27:57 +02:00
Jörg Krause
3f15f969aa package/ola: disable fatal warnings for host variant
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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-22 20:27:42 +02:00
Jörg Krause
efb29dc3f3 package/ola: bump to version 0.10.2
Remove fetching upstream which was needed to fix musl build issue.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-22 20:27:32 +02:00
Yann E. MORIN
bb9340c70f package/ola: use 'menuconfig' instead of 'config'+'menu'
Since there were multiple sub-menus, their prompts are turned into
comments.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-04 23:08:25 +02:00
Jörg Krause
2f89476ad9 package/libgpg-error: bump to version 1.23
This patch is based on a patch sent by Vicente Olivert Riera and commented by
Arnout Vandecappelle [1].

- Bump version to 1.23
- Add a hook to fix cross-compilation
- Fix license and license files
- Remove patch applied upstream
- Add a BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS variable
- Propagate the dependencies using that variable:
    * package/cppcms
    * package/crda
    * package/gnupg2
        - package/gcr
            - package/midori
    * package/kodi
    * package/libaacs
    * package/libassuan
    * package/libgcrypt
    * package/libgpgme
    * package/libksba
    * package/libmicrohttpd
        - package/janus-gateway
        - package/kodi
        - package/ola
        - package/systemd
    * package/libssh
    * package/libssh2
        - package/php-ssh2
    * package/netatalk
    * package/network-manager
    * package/ntfs-3g
    * package/opkg
    * package/php-gnupg
    * package/rng-tools
    * package/strongswan
    * package/vpnc

[1] http://patchwork.ozlabs.org/patch/416427/

Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[Thomas:
 - rebase on master
 - changing systemd no longer needed, as it no longer selects
   libgcrypt.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Maxime:
 - rebase on master
 - bump to new version
 - propagate dependencies to missing packages]
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
 - fix hash file.
 - change the way to handle the various arch so that it works properly
   for uClibc.
 - add nios2 arch support.
 - Maxime Hadjinlian learned some basic Emacs-fu to do the final fixups
   of this commit.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-04 22:22:27 +02:00
Thomas Petazzoni
abdc56006b protobuf: introduce BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
The architecture dependencies of protobuf are going to change, and
they are already duplicated between protobuf, ola and mosh. In order
to factorize the expression of those dependencies, this commit
introduces BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS.

Note that we include in this hidden Config.in option both the target
architecture dependency and the host architecture dependency.

Finally, this commit also fixes a real mistake in the mosh Config.in
file, where the condition on the architecture dependency for the
Config.in comment was inverted: we only want to show the Config.in
comment when we are on supported architectures.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-04 23:04:13 +01:00
Bernd Kuhls
8424a6ad6a package/ola: fix musl build
Fixes
http://autobuild.buildroot.net/results/17f/17fe88868acdbba074561da14c4417e31d506823/
http://autobuild.buildroot.net/results/d99/d99ca60cc4bf86c338fd61f9fd2de0bb9598d670/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: switch to using the upstreamed Github patch.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-02 10:20:46 +01:00
Thomas Petazzoni
8e03349228 package/ola: add hash file
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-02 10:20:46 +01:00
Bernd Kuhls
f581ddf30d package/ola: bump version to 0.10.0
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-02 10:20:46 +01:00
Yann E. MORIN
8d3e126e83 package/protobuf: needs dynamic libraries
Eventhough it should be theoretically possible to build protobuf in
static-only, configure.ac includes an m4 macro, ACX_PTHREAD defined in
m4/acx_pthread.m4, which forcibly checks for threads *with* shared libs,
and is completely broken for static-only (as it forces -shared whatever
the user selection), ending up with these configure results:

    checking for the pthreads library -lpthreads... no
    checking whether pthreads work without any flags... no
    checking whether pthreads work with -Kthread... no
    checking whether pthreads work with -kthread... no
    checking for the pthreads library -llthread... no
    checking whether pthreads work with -pthread... yes
    checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
    checking if more special flags are required for pthreads... no
    checking whether to check for GCC pthread/shared inconsistencies... yes
    checking whether -pthread is sufficient with -shared... no
    checking whether -lpthread fixes that... no
    checking whether -lc_r fixes that... no
    configure: WARNING: Impossible to determine how to use pthreads with shared libraries
    checking whether what we have so far is sufficient with -nostdlib... no
    checking whether -lpthread saves the day... no
    configure: WARNING: Impossible to determine how to use pthreads with shared libraries and -nostdlib

Fixing this macro is far from trivial; protobuf in a static-only
scenario is probably not too common. So, just disable protobuf for
static-only builds.

Fixes:
    http://autobuild.buildroot.org/results/3ef/3efb86c7e8ec2db5d953d634470cafae79bd34cf/
    http://autobuild.buildroot.org/results/96a/96ae1108fc3193df2a93a779057130b774379655/
    http://autobuild.buildroot.org/results/00c/00c29795980319d38823eec1301e9ebd860ebd2a/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Nimai Mahajan <nimaim@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-18 21:41:12 +02:00
Simon Marchi
932442e7a3 ola: Add patch to fix linking issue
This patch fixes this autobuild failure:

  http://autobuild.buildroot.net/results/e14/e14e1700d4fe359c56be57587bdb509e002e5753/build-end.log

The problem is caused by the -fvisibility-inlines-hidden switch.
Removing the switch is probably the least intrusive way we can make the
problem go away.  The first solution that was considered was to move the
definition of the offending method to the .cpp file.  However, with
other combinations of compilers and platforms, I suppose it could happen
with other methods as well.  Removing the switch ensures we catch them
all.

Built-tested with the config from the build bot, as well as with all OLA
options/plugins enabled.

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-18 21:06:20 +02:00
Simon Marchi
33d99de597 ola: Bump to version 0.9.6
We can delete the patch, as it was integrated upstream.

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-06 11:50:00 +02:00
Thomas Petazzoni
69964d8180 Revert "package/ola: fix autoreconf issue for host-ola"
This reverts commit 884af65fd5. Thanks
to the change of the installation path of host-autoconf-archive
macros, host-ola will no longer see them when doing its autoreconf, so
the patch that was added by the commit being reverted here is no
longer needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-15 00:59:38 +02:00
Peter Korsgaard
1f75157994 ola: depend on python for bindings instead of selecting it
Most likely people have already enabled python if they want to use the
bindings for ola, so use depends on instead of select so we don't need to
propagate the dependencies here.

Python already depends on mmu, so drop that here.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-06 23:48:51 +02:00
Romain Naour
884af65fd5 package/ola: fix autoreconf issue for host-ola
CXX variable is overwritten with an empy value when
host-autoconf-archive package has been installed before
host-ola.

config.log:
configure:19965:  -o conftest -O2 [snip -I and -L] conftest.cpp  -ldl

Fixes:
http://autobuild.buildroot.net/results/8fa/8fa0a64422a96023a926412a033d9a4f01af5a71/build-end.log

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-02 09:04:46 +02:00
Gustavo Zacarias
f4716f79a0 packages: remove (non-)lfs dependencies and tweaks
Now that largefile is mandatory removes package dependencies and
conditionals.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01 22:47:22 +02:00
Simon Marchi
64dd1e50f8 ola: Bump to 0.9.4
The protoc stuff changed a bit since 0.9.3. When 0.9.4 was released,
support for cross-compiling was broken because of it. A patch was merged
upstream shortly after that fixes the problem, so I included it here.
When the next version is released, the patch should not be necessary
anymore.

[Peter: actually change _VERSION]
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-01-31 15:06:58 +01:00
Simon Marchi
66056a5179 ola: bump to 0.9.3
This update requires a few changes. First, good news, the patches that you
guys have submitted to OLA have been merged, so we can drop those:

 ola-0001-fix-build-warning.patch -> ea375582b0bfee93d66608ffc807078ffc48e961
 ola-0002-move-python-sub-check-to-configure.ac.patch -> 673a7602a6bf7a6aa8a8461ebd9362d59f6e21df
 ola-0003-fix-check-for-python-module-for-cross-compilation.patch -> b51b48be81ec38bc7d1229be0c7d3189c5ddbafa

Less good news: OLA now builds a small protoc wrapper (ola_protoc) that is
built and executed at compile-time on the host. If we don't change anything,
ola_protoc is built with the target toolchain and therefore can't run on the
host. Explanation for ola_protoc is here

To solve this, I created a package host-ola, which builds and provides an
ola_protoc for the host. It tries to disable as much as possible of things
that we won't need at configure time. Only ola_protoc is built and installed
so it's not that long.

The change has been built-tested only.

[1] https://github.com/OpenLightingProject/ola/blob/master/protoc/ola-protoc.cpp#L20

[Thomas:
 - add HOST_OLA_DEPENDENCIES variable, so that host-ola doesn't get
   all the dependencies of the target ola package: certain target ola
   dependencies do not have corresponding host packages (and it
   doesn't make sense to have them as dependencies just to build
   ola_protoc)
 - improve the commit log to mention which upstream commits correspond
   to our patches.]

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-08 21:44:46 +01:00
Thomas De Schampheleire
aaffd209fa packages: rename FOO_CONF_OPT into FOO_CONF_OPTS
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.

Sed command used:
   find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04 18:54:16 +02:00
Thomas Petazzoni
0f6fca6061 protobuf: host-protobuf can only be built on certain architectures
The host-protobuf package can only build on certain architectures. For
example, host-protobuf does not build on PowerPC platforms, causing
build failures on the autobuilders. Since we don't really care about
build platforms other than x86 and x86-64, this commit restricts the
build of host-protobuf to these architectures only, even though if
technically it could build on ARM and MIPS.

Fixes:

 http://autobuild.buildroot.org/results/9b9/9b9b20b0e4694b11425cdc2382650cdc2774e400/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-12 22:20:44 +02:00
Arnout Vandecappelle
8677473035 protobuf: limit to supported architectures
protobuf 2.5.0 adds an atomic operations implementation that is limited
to a few architectures only. mips64el and armeb don't work either.

Fixes (among others)
http://autobuild.buildroot.net/results/ae9fa612d0b6c9d593504206d5cedd480ad2547e/

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-11 20:59:02 +02:00
Yann E. MORIN
e532033bff package/ola: fix check for google.protobuf
Fix the google.protobuf check in an upstreamable way.

As suggested by Arnout, use an autoconf ac_cv_have_* variable
so we can pass it on the command line. This is generic behaviour
for a lot of autoconf internals, so it makes sense to do it this
way.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-14 23:36:59 +01:00
Yann E. MORIN
573aa4b954 package/ola: bump to 0.8.33
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-14 23:36:35 +01:00
Yann E. MORIN
db25549186 package/ola: fix build against google.protobuf
To test for the google.protobuf presence, ola's ./conifgure runs the
host Python. This is doomed to fail, as google.protobuf is installed
in target/ and not in host/

Since our dependencies ensures that google.protobuf is indeed installed
before we attempt to configure and build ola, we can just ditch the
test altogether.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-09 22:04:26 +01:00
Thomas Petazzoni
768f261be0 ola: disable -Werror
By default, the ola build uses -Werror, so let's pass
--disable-fatal-warnings to remove this and avoid build failures
caused by warnings.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-22 12:12:10 +01:00
Thomas Petazzoni
b14cab5864 ola: add upstream patch to fix build on AArch64
Fixes:

   http://autobuild.buildroot.org/results/596/5967dfd4bd7c2b68e2911a98b9b84c8fe7adf0aa/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-22 12:12:06 +01:00
Axel Lin
945468045f ola: bump to version 0.8.32
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-24 00:07:39 +02:00
Thomas De Schampheleire
66bb10b7b0 Config.in files: unify comments of toolchain option dependencies
This patch lines up the comments in Config.in files that clarify which
toolchain options the package depends on.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-14 22:45:57 +02:00
Gustavo Zacarias
41a9a56fe9 ola: needs host-bison and host-flex
Fixes:
http://autobuild.buildroot.net/results/385/385f05b5e1b023b6c4ca220aab897e400b5aeccb/
and a future failure (host-bison).

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-18 16:55:39 +02:00
Dave Skok
b5b940eaaa ola: new package
[Peter: fixup help text]
Signed-off-by: Dave Skok <blanco.ether@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-12 23:03:07 +02:00