Add two patches to address three distinct build problems spotted by our
build bots when compiling lttng-tools:
1) unconditional use of `__GLIBC_PREREQ`
On musl based toolchains there is no such macro defined, leading to the
following preprocessor error:
CC compat-epoll.lo
In file included from compat-epoll.c:33:0:
poll.h:76:19: error: missing binary operator before token "("
#if __GLIBC_PREREQ(2, 9)
2) undeclared `mode_t` type
On musl based toolchains the `mode_t` type is not implicitely defined through
other includes, leading to the following compile error:
CC hashtable.lo
In file included from ../../../src/common/common.h:24:0,
from hashtable.c:24:
../../../src/common/runas.h:25:46: error: unknown type name 'mode_t'
int run_as_mkdir_recursive(const char *path, mode_t mode, uid_t uid, gid_t gid);
^
../../../src/common/runas.h:26:36: error: unknown type name 'mode_t'
int run_as_mkdir(const char *path, mode_t mode, uid_t uid, gid_t gid);
^
../../../src/common/runas.h:27:46: error: unknown type name 'mode_t'
int run_as_open(const char *path, int flags, mode_t mode, uid_t uid, gid_t gid);
^
3) multiple definitions
The header files declare several `const char *` pointers which are initialized
in various `*.c` files later on. Due to a missing `extern` declaration in the
header, the final linking of the executables fails with errors such as:
CCLD lttng
../../../src/common/.libs/libcommon.a(mi-lttng.o):(.data.rel.ro.local+0x0): multiple definition of `mi_lttng_element_snapshots'
commands/enable_events.o:(.bss+0x18): first defined here
collect2: error: ld returned 1 exit status
This commits addresses these issues with two patches, `100-musl-compat.patch`
fixes issue 1 by declaring a fallback dummy declaration of `__GLIBC_PREREQ` and
issue 2 by explicitely including `sys/stat.h` which provides `mode_t` according
to POSIX.
The second patch, `200-use-extern.patch` declares all char pointers in the
header file as `extern`, fixing the observed linker errors.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The libtiff library declares an `ftell()` compat macro redirecting calls
to `ftello()` if such an implementation exists. The compat macro however
is declared with a wrong number of arguments, leading to the following
error on our buildbots:
In file included from .../usr/include/uClibc++/iostream:29:0,
from tif_stream.cxx:31:
.../usr/include/uClibc++/fstream:422:22: error: macro "ftell" requires 3 arguments, but only 1 given
retval = ftell(fp);
Add a patch to fix the macro definition in order to fix compilation of
the tiff package.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Apply the version fixup in order to solve the following build error on systems
not using exactly gettext version 0.18:
make[6]: Entering directory '.../build_dir/target-mips_34kc_musl-1.1.14/mc-4.8.17/po'
*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.18 but the autoconf macros are from gettext version 0.19
The fixup will ensure that embedded macro versions are replaced with the
version of the staged gettext executable in ./staging_dir/host/bin
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
If the liblz4 library exists within the build environment, the openconnect
configure will pick it up and start depending on it, leading to the following
build error:
Package openconnect is missing dependencies for the following libraries:
liblz4.so.1
Disable LZ4 support in configure in order to avoid this implicit,
nondeterministic dependency.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Mark the usbip package nonshared so that is built along with the target
specific binaries and not within the SDK environment.
This is needed since the usbip package draws its source files directly
from the kernel tree which is unavailable within the SDK.
Fixes the following build error encountered by the LEDE buildbots:
http://downloads.lede-project.org/snapshots/faillogs/mipsel_1004kc_dsp/packages/usbip/compile.txt
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
At least when building with OpenWrt SDK, if libudev is present
(even if not actually used by the system), then at least the
disk plugin attempts to link against udev, which results in
packages failure due to lack of dependencies, and it's not
desirable to add a dependency on udev just because udev
was built for the SDK, so we disable libudev support
explicity.
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
Conflicts:
utils/collectd/Makefile
Notable changes:
Add -DCMAKE_CXX_FLAGS="-DELEKTRA_SHARED" to work around an upstream
bug (already fixed) in the Makefile.
Signed-off-by: Harald Geyer <harald@ccbib.org>
Among many fixes and improvements this new version adds
support of ARC architecture (ARC port was actually introduced
in v3.1 but while at it why not to update to the most recent version).
Which allows to build dependent projects like Python etc.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Fixes segfaults occuring in the node host build when GCC 6 is used.
Backport of upstream commit 96198d5bc7.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>