Yann E. MORIN [Thu, 18 Aug 2016 21:01:21 +0000 (23:01 +0200)]
package/lldpd: disable use of libbsd
libbsd installs at least one .pc file that contains a -isystem include
path (-isystem /usr.include/bsd), but -isystem is not munged by
pkg-config, so we end up using /usr/include/bsd which is not suitable
for the target. And breaks big time (see failures, below).
But using libbsd is completely optional. In fact, our lldpd.mk did not
even express the dependency on libbsd, so we may well have had builds
without libbsd.
The functionality brought in by using libbsd is very minor (just setting
the neighbour name in /proc/self/cmdline), so we just make lldpd not use
libbsd at all. There is no --disable-libbsd or such, so we just patch it
out of configure.ac.
m68k: disable BR2_BINFMT_FLAT_SEP_DATA for coldfire
BR2_BINFMT_FLAT_SEP_DATA can be used to create XIP userland and works fine
for m68k. Unfortunately a lot of basic packages as pcre are not compileable
because of a CPU or hardware limitation. The reason for failing are very
big functions used in the libraries or application code.
Typical errors are:
Fatal error: Tried to convert PC relative branch to absolute jump
or
error: value -yyyyy out of range
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: add comment in Config.in file about sep-data existing on m68k,
but being disabled due to build issues with numerous packages.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
m68k: flat one memory region works with small kernel patch
Greg Ungerer fixed recently a bug in the Linux kernel, which
allows to use one memory region again.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: cherry-picked from next to master, in order to be able to use
BR2_BINFMT_FLAT_ONE by default on m68k, since BR2_BINFMT_FLAT_SEP_DATA
causes too much problems.] Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Erico Nunes [Mon, 22 Aug 2016 21:49:15 +0000 (23:49 +0200)]
configs/pc_x86_64_efi_defconfig: enable kernel EFI support
The pc_x86_64_efi reference defconfig is targeted towards an EFI
environment but the kernel which comes with it does not enable EFI
support by default.
Booting this defconfig without kernel EFI support on a qemu virtual
machine with EFI firmware resulted in no output to tty1 or ttyS0.
Enabling EFI support in the kernel fixed this and seems saner for an EFI
reference Buildroot defconfig.
Adding CONFIG_EFI to board/pc/linux-extras.config also affects
pc_x86_64_bios_defconfig which doesn't require it, however it was
observed that the extra overhead is small and so this is preferred
rather than having a separate config file.
This was tested with qemu 2.6.0 running with kvm enabled and firmware
EFI v2.60 by EDK II. Also built and verified bios defconfig on the same
setup but with BIOS firmware instead.
Thomas Petazzoni [Sat, 20 Aug 2016 12:36:01 +0000 (14:36 +0200)]
openblas: fix build with old binutils versions
Older toolchains that use binutils <= 2.23.2 are affected by binutils
bug #14887 (https://sourceware.org/bugzilla/show_bug.cgi?id=14887),
where:
someinstruction [ foo, something ]
is not accepted, due to the whitespace after [ and before ], causing the
following build failures for OpenBLAS:
ARM register expected -- `pld [ r1,#512 ]'
Since we don't have any mechanism to add dependencies on binutils
versions, we work around this problem by patching the code to remove the
problematic whitespaces. As there are many many instances of this in the
ARM assembly code of OpenBLAS, we use a sed expression to make this
modification rather than a patch.
[Peter: use single quotes in sed invocation] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
A gcc bug is triggered when Os/O2/O3 is used to compile the function.
Just force O1 for the problematic function for Blackfin.
See gcc bug report:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77311
Romain Naour [Sun, 21 Aug 2016 21:36:48 +0000 (23:36 +0200)]
package/trousers: needs host-pkgconf
Otherwise the build fail with this error:
configure.in:53: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.in:95: error: possibly undefined macro: AM_CONDITIONAL
Also, there is a PKG_CHECK_MODULES used for GTK.
Signed-off-by: Romain Naour <romain.naour@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Baruch Siach [Sun, 21 Aug 2016 06:39:19 +0000 (09:39 +0300)]
quagga: fix static link with zlib
quagga links with zlib indirectly via netsnmp -> openssl -> zlib. quagga and
zlib both define the identically named but otherwise unrelated 'zcalloc'
symbol. This breaks static linking. Add a patch that renames the offending
symbol, thus fixing the build.
Baruch Siach [Sun, 21 Aug 2016 15:06:38 +0000 (18:06 +0300)]
wireshark: fix static build with libpcap+libusb
The wireshark autoconf acinclude.m4 source calls AC_PATH_TOOL() to find
pcap-config only when --with-pcap is missing. Otherwise it just trusts the
PCAP_CONFIG environment variable. Since we use --with-pcap, seeding
ac_cv_path_PCAP_CONFIG gives nothing. Set PCAP_CONFIG instead to let the
configure script discover the dependencies of libpcap. This fixes static build
when libpcap links with libusb.
Yann E. MORIN [Sun, 21 Aug 2016 13:38:02 +0000 (15:38 +0200)]
package/ncurses: fix build on noMMU uclinux targets
The ncurses buildsystem does not recognise 'uclinux' as being a 'linux',
so it falls back to generic checks, especially when trying to decide
what macros to define. So it misses defining absolutely required macros
when doing widechar, which break the bui,d.
But 'uclinux' is just a 'linux' like any other in this respect.
We fix both aclocal.m4 and the generated ./configure script because
ncurses does not autoreconf correctly (see comment in 0001-*.patch).
Thomas Petazzoni [Sat, 20 Aug 2016 14:00:36 +0000 (16:00 +0200)]
pinentry: fix build issue with gcc 5.x
pinentry currently fails to build with gcc 5.x, because it uses some
functionality from std::string that requires C++11 without passing the
appropriate -std= value. We fix this by passing a proper -std= option
when gcc >= 5.x. Note that this can be removed once pinentry is bumped
to the newest version (currently 0.9.7) because they no longer use
std::string in the Qt part.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> One-beer-granted-to: Yann E. MORIN <yann.morin.1998@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Gustavo Zacarias [Sat, 20 Aug 2016 16:48:51 +0000 (13:48 -0300)]
glib-networking: specify ca-certificates pathspec
Otherwise the configure script will probe the distro directories for it
and it may not match what we use, for example fedora uses /etc/pki
instead of /etc/ssl.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Peter Seiderer [Sat, 20 Aug 2016 19:09:54 +0000 (21:09 +0200)]
qt5base: remove libudev dependency from kms
Use upstream patch [1]
Fixes [2]:
KMS auto-detection... ()
Project ERROR: libudev development package not found
KMS disabled.
KMS support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
Thomas Petazzoni [Fri, 19 Aug 2016 13:50:29 +0000 (15:50 +0200)]
lirc-tools: fix build issue related to clock_gettime()
In some older versions of glibc, clock_gettime() is in librt, so we need
to link with librt when clock_gettime() is used. This commit adds a
lirc-tools patch to make sure we link with librt when needed.
Thomas Petazzoni [Sat, 20 Aug 2016 10:21:52 +0000 (12:21 +0200)]
linknx: add additional upstream URL
While the SourceForge page still exists, it seems to be a bit outdated,
and there is now a much newer Github repository with recent activity, so
mention it as well in the Config.in help text.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
bfin: fix issues with internal toolchain, re-enable C++ support
The three patches allow to compile applications using TLS emulation from
libgcc or C++ applications.
The patches 892-libgcc-mkmap-symver-support-skip_underscore.patch and
893-libgcc-config-bfin-use-the-generic-linker-version-in.patch fixes how
libgcc is generated, by making the necessary libgcc symbols declared
"GLOBAL", and therefore visible outside of libgcc. This fixes a large
number of undefined reference issues (for either C++ applications or
applications using TLS emulation). This was reported as gcc PR74748.
The patch 894-libgcc-fix-DWARF-compilation-with-FDPIC-targets.patch
allows to build DWARF in FDPIC mode. This patch replaces the older
892-disable-dwarf-bfin.patch, as instead of disabling DWARF support, it
fixes it. This was reported as gcc PR68468.
In order to get C++ working without unresolved symbols, we also need to
disable symbol versioning (--disable-symvers). This is a remaining issue
in gcc which will be investigated at a later point.
Since this commit fixes C++ support in Blackfin, it re-enables the
selection of C++ support for this architecture.
Rahul Bedarkar [Sat, 20 Aug 2016 09:09:20 +0000 (14:39 +0530)]
jack2: fix build with gcc 6
With gcc version 6, we get the following error when building jack2:
../tests/iodelay.cpp:170:49: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
jack_latency_range_t capture_latency = {-1, -1};
^
../tests/iodelay.cpp:170:49: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
../tests/iodelay.cpp:171:50: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
jack_latency_range_t playback_latency = {-1, -1};
^
../tests/iodelay.cpp:171:50: error: narrowing conversion of '-1' from 'int' to 'jack_nframes_t {aka unsigned int}' inside { } [-Wnarrowing]
binutils configure script has CC variable that stores compiler for
target and CC_FOR_BUILD variable that stores compiler for host.
WARN_FLAGS are verified by the script to be compatible only with CC
compiler but not with CC_FOR_BUILD compiler. Despite this WARN_FLAGS
are passed to both CC and CC_FOR_BUILD compilers. This leads to
unevident errors when cross-compiling. More information you can find
in the binutils mailing list:
https://sourceware.org/ml/binutils/2016-08/msg00117.html
We are going to write a patch for bunutils that fixes the initial
issue. Current patch contains temporary workaround. It should be
deleted after real fix.
Rahul Bedarkar [Fri, 19 Aug 2016 17:15:03 +0000 (22:45 +0530)]
logrotate: fix build with gcc 6
With gcc version 6, we get the following error when building logrotate:
logrotate.c: In function 'postrotateSingleLog':
logrotate.c:1784:5: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
if (!state->doRotate)
^~
logrotate.c:1787:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
if (!hasErrors && log->flags & LOG_FLAG_TMPFILENAME) {
^~
config.c: In function 'strndup':
config.c:87:10: error: nonnull argument 's' compared to NULL [-Werror=nonnull-compare]
if(!s)
^
cc1: all warnings being treated as errors
make[2]: *** [config.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1: all warnings being treated as errors
make[2]: *** [logrotate.o] Error 1
This is due to logrotate providing its own implementation of
strndup(). We could fix it, but it much better to simply use the one
provided by the C library, by fixing the detection method for strndup
availability. This is done in patch
0002-Use-autoconf-checks-for-strndup-and-asprintf.patch.
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
[Thomas: replace fix for the nonnull issue with a different one.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Fri, 19 Aug 2016 20:20:30 +0000 (22:20 +0200)]
imx-uuc: uses fork(), needs MMU
The imx-uuc source code uses fork(), so it can only be compiled and used
on MMU-capable platforms. This commit adds the necessary Config.in
dependencies to express this.
Fabrice Fontaine [Fri, 19 Aug 2016 12:19:36 +0000 (14:19 +0200)]
tinycbor: exclude Blackfin ADI toolchain
As tinycbor uses fopencookie() which is not available with the Blackfin
ADI external toolchain (UCLIBC_HAS_GLIBC_CUSTOM_STREAMS is not enabled),
add a dependency on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX.
This avoids the following build failure:
src/open_memstream.c: In function ‘open_memstream’:
src/open_memstream.c:105: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘vtable’
src/open_memstream.c:105: error: ‘vtable’ undeclared (first use in this function)
src/open_memstream.c:105: error: (Each undeclared identifier is reported only once
src/open_memstream.c:105: error: for each function it appears in.)
src/open_memstream.c:105: error: expected expression before ‘{’ token
src/open_memstream.c:111: warning: implicit declaration of function ‘fopencookie’
src/open_memstream.c:111: warning: return makes pointer from integer without a cast
Until tinycbor 0.4 is released, patch from dev branch is needed to
remove the usage of unnamed union which are not supported by all
targets such as blackfin, more details can be found here:
https://patchwork.ozlabs.org/patch/652187/
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fabrice Fontaine [Fri, 19 Aug 2016 12:19:34 +0000 (14:19 +0200)]
tinycbor: bump to version 0.3.2
tinycbor 0.3.2 includes the buildroot patch that fixes the installation
with old Makefile used by targets such as blackfin, more details can be
found here: https://patchwork.ozlabs.org/patch/652187
Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Romain Naour [Thu, 18 Aug 2016 21:48:21 +0000 (23:48 +0200)]
package/connman: disable for musl toolchains
Connman doesn't build with musl toolchains due to several "classic"
musl issues [1] (mixes userspace and kernel headers, missing header)
Upstream received some fixes [2] but they are not yet merged.
Also, gresolv.c use res_ninit() function which is not available
with musl. A fix from Alpinelinux is available [3] but it require
some invasive changes.
Disable connman for musl toolchains for now, and wait for upstream
fixes.
As Thomas already noticed [0], the two interesting rules above are not
dependent one on the other, so can be run in parallel. So, while one is
doing its rm'n'ln dance, the other can be running an ldconfig, which has
the side effect of creating the missing symlinks. So, we can see this
sequence:
Yann E. MORIN [Thu, 18 Aug 2016 21:50:16 +0000 (23:50 +0200)]
package/android-tools: drop musl-compatibility cdefs patching out
We now always have a sys/cdefs.h, so we no longer need to patch it out.
Simplify the patch by removing any hunk removing cdefs.h or the use of
__BEGIN_DECLS/__END_DECLS. However, it must be included when macros it
defines are being used.
Also, renumber patches to guarantee ordering (static patch was added
before big-endian one).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Thu, 18 Aug 2016 21:50:14 +0000 (23:50 +0200)]
package/rpcbind: fix musl build
rpcbind uses the __P() macro defined in sys/cdefs.h but does not
includes it explicitly, relying on the glibc behaviour to include it
from its own headers.
But this macro does nothing but expands as its argument. In the past,
it did provide support for pre-ANSI compilers that did not support
function prototypes. Those are now gone, and glibc provides this macro
for legacy code.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Thu, 18 Aug 2016 21:50:13 +0000 (23:50 +0200)]
package/musl-compat-headers: provide compatibility headers not in musl
musl provides neither sys/queue.h nor sys/cdefs.h. Those two headers are
however quite widely used in a lot of packages (though they should at
least not use cdefs.h which is only full of mostly-legacy macros, and
which is mostly an internal header of glibc and was never really meant to
be exposed to, and used by packages).
But we don't live in an ideal world, so a lot of packages break when
those two headers are missing.
We already took care of sys/queue.h with the netbsd-queue package. But
the need for cdefs.h is getting more and more pressing.
We rename the netbsd-queue package into musl-compat-headers, and we
make it install sys/queue.h (from NetBSD) and sys/cdefs.h (a minimalist
one we bundle in Buildroot). We can't use the cdefs.h from NetBSD
because it includes machine-dependent headers; instead we bundle a very
minimalistic one, that covers only what we need.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Baruch Siach <baruch@tkos.co.il> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Fri, 19 Aug 2016 09:09:53 +0000 (11:09 +0200)]
linux: cpupower needs gettext
The cpupower linux tool needs gettext, always (even without locales).
We need to disable NLS, otherwise it tries to compile the .po files.
We also need to pass -lintl, otherwise it forgets to link with it
(because, the world is glibc-only, you did not know? And glibc does not
need we link with -lintl, so why would we? Oh, yes, we also reinvented
our super intelligent one-off Makefile rather than use one of the
standard buildsystems).
Fixes #9181:
CC utils/helpers/sysfs.o
In file included from utils/helpers/amd.c:9:0: ./utils/helpers/helpers.h:13:21: fatal error: libintl.h: No such file or directory
#include <libintl.h>
^
Without NLS=false (yes, we could depend on host-gettext):
MSGFMT po/de.gmo
make[3]: msgfmt: Command not found
Without LDFLAGS=-lintl:
CC cpupower
./utils/cpupower.o: In function `main':
cpupower.c:(.text.startup+0x1a4): undefined reference to `libintl_textdomain'
./utils/idle_monitor/cpupower-monitor.o: In function `list_monitors':
cpupower-monitor.c:(.text+0x5dc): undefined reference to `libintl_gettext'
./utils/cpupower-set.o: In function `cmd_set':
cpupower-set.c:(.text+0x38): undefined reference to `libintl_textdomain'
./utils/cpupower-info.o: In function `cmd_info':
cpupower-info.c:(.text+0x20): undefined reference to `libintl_textdomain'
collect2: error: ld returned 1 exit status
Reported-by: Joergen Pihlflyckt <Jorgen.Pihlflyckt@ajeco.fi> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Joergen Pihlflyckt <Jorgen.Pihlflyckt@ajeco.fi> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Romain Naour [Mon, 15 Aug 2016 16:33:02 +0000 (18:33 +0200)]
package/rt-tests: add syscall-number for sched_(gs)etattr() for SH4
The dependency on kernel headers >= 3.14 was added by b9fa6c00b1213fd038f2aed52057f22c7e18fd4b since
librttest requires __NR_sched_setattr and
__NR_sched_getattr syscalls (rt-sched).
But these syscalls have just been added to kernel 4.8 for SH4.
Romain Naour [Wed, 17 Aug 2016 16:01:08 +0000 (18:01 +0200)]
core/pkg-autotools: don't use APPLY_PATCHES for libtool patches
Since [1] <package>-reconfigure target is broken.
$ make elementary-reconfigure
Applying buildroot-libtool-v2.4.4.patch using patch:
Error: duplicate filename 'buildroot-libtool-v2.4.4.patch'
Conflicting files are:
already applied: buildroot/support/libtool/buildroot-libtool-v2.4.4.patch
to be applied : buildroot/support/libtool/buildroot-libtool-v2.4.4.patch
When a package uses AUTORECONF, the libtool patch can be applied a
second time on the same ltmain.sh in the same directory as the
<package>-reconfigure target is called. This is not a problem since
autoreconf will overwrite the previously patched files. But with the
check introduced by [1], apply-patches.sh throw an error when the
package is reconfigured since the libtool patch is already present in
.applied_patches_list.
In addition to this, the .applied_patches_list file generated by
apply-patches.sh while patching ltmain.sh is not in the top-level
package source directory. Instead a duplicated .applied_patches_list
is generated beside the patched ltmain.sh which can be in a
subdirectory.
As noticed by Arnout Vandecappelle [2], the apply-patches.sh script
doesn't bring anything for the libtool patches.
"apply_patches.sh does the following:
* It handles directories -> not needed here.
* It handles compressed patches and tarballs -> not needed.
* It handles series files -> not needed.
* It handles errors in case of multiple patches -> not needed since
it's only one patch.
* It detects errors based on *.rej files -> not needed since it's only
a single patch so patch exit code is OK.
* It writes the patch list -> for libtool, this is quite silly because
it will be written in the directory where ltmain.sh is found, not in the
top-level directory, so you have these patch lists spread over the
source tree."
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: drop comment about the NPTL dependency being related to
alsa-lib, as it's not the case. Suggested by Baruch.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Rahul Bedarkar [Thu, 18 Aug 2016 18:24:37 +0000 (23:54 +0530)]
libconfuse: add optional dependency on gettext
When available, libconfuse will use the libintl provided by the gettext
package.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
[Thomas: make it really an optional dependency.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Samuel Martin [Wed, 17 Aug 2016 21:19:36 +0000 (23:19 +0200)]
pkg-cmake.mk: set CMAKE_SYSROOT variable in toolchainfile.cmake
This change enforces the CMAKE_SYSROOT value set in the toolchainfile.cmake.
This fix overrides the CMake heuristics used to guess it, and turns off some
non-desirable behavior adding "-isystem ..." flags to the compiler command
line, misleading the compiler and making the build failed due to some
unfound standard headers.
Cc: Ben Boeckel <mathstuf@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Baruch Siach [Thu, 18 Aug 2016 05:43:03 +0000 (08:43 +0300)]
libgcrypt: security bump to version to version 1.7.3
Fixes CVE-2016-6316: Bug in the mixing functions of Libgcrypt's random number
generator. An attacker who obtains 4640 bits from the RNG can trivially
predict the next 160 bits of output.
Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Zakharov Vlad [Thu, 11 Aug 2016 10:20:31 +0000 (13:20 +0300)]
stella: fix compiler search in configure script
In configure script there are some tests that are looking for
a suitable compiler. For this purpose script tries to compile
and link some C++ code that is hardcoded in the body of script.
The problem is that only linker flags ($LDFLAGS) are passed to the
compiler when the script is compiling test code. Therefore some
necessary command line options can be lost and this would lead to
errors.
This exactly happens to ARC:
1. -matomic option is lost as it compiler option,
2. test code compilation fails,
3. the script decides not to use arc-buildroot-linux-uclibc-g++,
4. scipt checks host compiler (x86_64-linux-gnu-g++ in your case),
5. package is being built for x86_64, not for ARC.
About last 2 steps - I don't know why configure script should try
to build stella for host machine. As for me an error should be
raised and a build should be stopped. But this is up to stella
developers.
Current patch adds compiler options ($CXXFLAGS) when compiling
test code in configure script.
Gustavo Zacarias [Wed, 17 Aug 2016 12:41:50 +0000 (09:41 -0300)]
busybox: add upstream fixes for 1.25.0
Add upstream patches to fix gzip (bug #9131 - incorrect compression
levels), ip (route add bug) and ntpd (CVE-2016-6301 - NTP server denial
of service).
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Rahul Bedarkar [Mon, 15 Aug 2016 06:15:41 +0000 (11:45 +0530)]
mtd: fix musl build issue
With musl C library, we get following build error
integck.c:37:28: fatal error: bits/stdio_lim.h: No such file or directory
#include <bits/stdio_lim.h>
^
compilation terminated.
make[2]: *** [integck] Error 1
Header <bits/stdio_lim.h> is not available in musl C library. However
<stdio.h> has all definition that <bits/stdio_lim.h> supposed to be
providing. Moreover <bits/stdio_lim.h> shouldn't be included directly
instead we should be using <stdio.h>.
Since we already include <stdio.h> and in case of uClibc or glibc
<bits/stdio_lim.h> gets included internally, we can safely remove it.
Yann E. MORIN [Mon, 15 Aug 2016 11:07:13 +0000 (13:07 +0200)]
package/qt: webkit needs gst-plugins-base
QtWebkit needs gstreamer-0.10 and the 'app' plugins, so we depend on
gstreamer and select the required plugins.
We can't select gstreamer as that would cause circular dependencies in
kconfig:
package/kodi/Config.in:37:error: recursive dependency detected!
package/kodi/Config.in:37: symbol BR2_PACKAGE_KODI depends on BR2_PACKAGE_KODI_EGL_GLES
package/kodi/Config.in:16: symbol BR2_PACKAGE_KODI_EGL_GLES depends on BR2_PACKAGE_HAS_LIBEGL
package/opengl/libegl/Config.in:1: symbol BR2_PACKAGE_HAS_LIBEGL is selected by BR2_PACKAGE_MESA3D_OPENGL_EGL
package/mesa3d/Config.in:150: symbol BR2_PACKAGE_MESA3D_OPENGL_EGL is selected by BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
package/mesa3d/Config.in:92: symbol BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL depends on BR2_PACKAGE_MESA3D
package/mesa3d/Config.in:1: symbol BR2_PACKAGE_MESA3D is selected by BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV
package/x11r7/xdriver_xf86-video-imx-viv/Config.in:1: symbol BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV depends on BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11
package/freescale-imx/imx-gpu-viv/Config.in:34: symbol BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is part of choice <choice>
package/freescale-imx/imx-gpu-viv/Config.in:27: choice <choice> contains symbol <choice>
package/freescale-imx/imx-gpu-viv/Config.in:27: choice <choice> contains symbol BR2_PACKAGE_FREESCALE_IMX
package/freescale-imx/Config.in:1: symbol BR2_PACKAGE_FREESCALE_IMX is selected by BR2_PACKAGE_GST_FSL_PLUGINS
package/gstreamer/gst-fsl-plugins/Config.in:8: symbol BR2_PACKAGE_GST_FSL_PLUGINS depends on BR2_PACKAGE_GSTREAMER
package/gstreamer/gstreamer/Config.in:5: symbol BR2_PACKAGE_GSTREAMER is selected by BR2_PACKAGE_QT_WEBKIT
package/qt/Config.in:464: symbol BR2_PACKAGE_QT_WEBKIT depends on BR2_PACKAGE_QT
package/qt/Config.in:5: symbol BR2_PACKAGE_QT is selected by BR2_PACKAGE_PYTHON_PYQT
package/python-pyqt/Config.in:5: symbol BR2_PACKAGE_PYTHON_PYQT depends on BR2_PACKAGE_PYTHON
package/python/Config.in:5: symbol BR2_PACKAGE_PYTHON is selected by BR2_PACKAGE_KODI
This one is fairly complicated to fix properly, so it is easier to just
depend on gstreamer.
Also rework the comment when QtWebkit is not available.
In practice, this means that on MIPS soft-float, --disable-mipsfpu is
passed, and that in *all* other cases, --enable-mipsfpu is passed,
including if we are *not* targetting the MIPS architecture.
Even though this doesn't seem to cause any problem, it is a bit weird to
see --enable-mipsfpu when you're building ffmpeg for a non-MIPS
architecture, so we better fix this by enclosing the MIPS-related
options in a MIPS condition.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni [Wed, 10 Aug 2016 21:29:03 +0000 (23:29 +0200)]
ffmpeg: explicitly disable NEON support
When BR2_ARM_CPU_HAS_NEON=y, we pass --enable-neon. However, when
BR2_ARM_CPU_HAS_NEON is disabled, we don't pass anything. This generally
works fine, but turned out to integrate NEON code in ARMv7-M
builds (since it's ARMv7, ffmpeg assumed it should enable NEON code).
Even though ffmpeg is now disabled for ARMv7-M, it still makes sense to
be explicit, and disable NEON support when the CPU doesn't have it.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Baruch Siach [Fri, 12 Aug 2016 15:14:31 +0000 (18:14 +0300)]
spidev_test: fix musl build
spidev.h needs _IOC_SIZEBITS. Add linux/ioctl.h for that to fix build under
musl.
The patch suggested upstream (https://patchwork.kernel.org/patch/9276909/)
does not apply to the spidev_test.c version we currently use. A backported
patch would break once we bump spidev_test.c. A bump+patch solution would
break if/when upstream accepts this patch. That's why this commit uses the
unusual sed patching to keep compatibility with current and future
spidev_test.c versions.
Yann E. MORIN [Sun, 14 Aug 2016 17:45:36 +0000 (19:45 +0200)]
package/sg3_utils: fix uclinux build
sg3_utils grep for '^linux' as the host OS to decide if we are
targetting Linux.
However, on noMMU targets, the host OS can be 'uclinux' instead of just
plain 'linux', which make sg3_util confused and thus it forgets to
include some source files in the build, resulting in link failures.
Fix that by ammending the regexp that recognises Linux. We now need to
run autoreconf.
[Peter: fix typos as pointed out by Arnout] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: use -lpthread in comment as suggested by Arnout] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>