The gnutils code uses __attribute__((constructor)) and
__attribute__((destructor)) to call constructor/desctructor when a
shared library is loaded.
Constructor/desctructor are not used when a static library is used
(except when if -Wl,--whole-archive -lgnutls -Wno-whole-archive is
used, not tested).
Even if gnutls initialization (_gnutls_global_init()) may be
called manually, the gnutls maintainer said it's not supported [1].
"Note that static linking applications with gnutls is not something
supported. gnutls relies on library constructors and destructors
which are not loaded when linking statically."
Now the gnutls script warns about static linking [2].
So disable gnutls statically by adding "depends on !BR2_STATIC_LIBS"
at Kconfig level and --disable-static in GNUTLS_CONF_OPTS.
Fixes:
[taskd] http://autobuild.buildroot.net/results/c2d/c2dd5c1c9dc87d2943c15e58ee56e67d7375368c
[ffmpeg] http://autobuild.buildroot.net/results/892/8926d319d6d1cd1ee72239ad7d9ca869d2355628
[sngrep] http://autobuild.buildroot.net/results/f7f/f7fb42d3742f6f01000a0d181e0c785640284405
[1] https://gitlab.com/gnutls/gnutls/issues/203
[2] 6b74888679
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Romain: merge our two patches together
add some option comment
disable static libgnutls.a
add sngrep autobuilder reference]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: do not disable libgnutls.a]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit 006a328ad6 ("util-linux: fix build with ncurses") removed
dependency on BR2_USE_WCHAR, but failed to update the reverse
dependencies of util-linux.
This commit updates comments in Config.in for BR2_USE_WCHAR for reverse
dependencies of util-linux which directly uses wchar now or when it is
pulled from other dependencies.
eudev doesn't use wchar directly, but needs C99 compiler. Autotools
generate code with wchar_t for checking C99 compiler.
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
libuuid depends on libintl in specific scenarios, but since taskd wasn't
using pkg-config to detect libuuid, this dependency on libintl was not
taken into account. This commit adds a patch to taskd that uses
pkg-config to detect libuuid.
Fixes:
http://autobuild.buildroot.net/results/cb5ea871812651025722d42508d4f37702088800/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The CMakeLists.txt was using the wrong variables names to add to
includes and libs, so the additional libraries for static build
weren't added to the link command.
Patch sent upstream to taskwarrior-dev@googlegroups.com but it doesn't
seem to be very active.
Fixes:
http://autobuild.buildroot.net/results/d01e947fa807336ffcfd0fad27397af8e7442833
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
taskd checks for `get_current_dir_name` but forgets to add a `cmakedefine`
in cmake.h.in, so `HAVE_GET_CURRENT_DIR_NAME` is always undefined.
CMake detects correctly that the musl C library defines `get_current_dir_name`.
However, as `HAVE_GET_CURRENT_DIR_NAME` is not set, the block of code evaluated
cannot be compiled as musl does not define `PATH_MAX`.
Reported upstream:
https://bug.tasktools.org/browse/TD-120
Fixes:
http://autobuild.buildroot.net/results/121/121aa15235e06c80d65428626da5a2da9d11c9ba/
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
COPYING and LICENSE are identical, so no point including them both.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
.tar.gz is the default.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
It's all C++ code... C++11 even, but it turns out to compile fine even
with gcc-4.5 (Arago toolchain).
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Taskwarrior is a task management suite of tools. Taskd is the
synchronization server for it.
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
[Thomas:
- use 'depends on' for BR2_USE_MMU, and add a comment indicating that
the dependency is due to the use of fork()
- use 'depends on' for BR2_USE_WCHAR, and add a comment indicating
that the dependency is due to gnutls and util-linux.
- add a hash file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>