![Bernd Kuhls](/assets/img/avatar_default.png)
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>
26 lines
923 B
Plaintext
26 lines
923 B
Plaintext
config BR2_PACKAGE_AICCU
|
|
bool "aiccu"
|
|
depends on !BR2_STATIC_LIBS # gnutls
|
|
depends on BR2_USE_WCHAR
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_USE_MMU # fork()
|
|
select BR2_PACKAGE_GNUTLS
|
|
help
|
|
SixXS Automatic IPv6 Connectivity Client Utility
|
|
|
|
AICCU (Automatic IPv6 Connectivity Client Utility) makes it
|
|
easy for users to get IPv6 connectivity. After having
|
|
requested an account, tunnel and optionally a subnet, AICCU
|
|
can be used to automatically configure the tunnel. AICCU
|
|
supports TIC (Tunnel Information & Control protocol), which it
|
|
uses for retrieving the tunnel configuration information,
|
|
AYIYA, which allows tunnels to be created even behind
|
|
firewalls and NAT's.
|
|
|
|
http://www.sixxs.net/tools/aiccu/
|
|
|
|
comment "aiccu needs a toolchain w/ wchar, threads, dynamic library"
|
|
depends on BR2_USE_MMU
|
|
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \
|
|
|| BR2_STATIC_LIBS
|