summaryrefslogtreecommitdiffstats
path: root/package/network-manager
diff options
context:
space:
mode:
authorBernd Kuhls <bernd.kuhls@t-online.de>2017-05-25 18:34:43 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-05-29 22:52:34 +0200
commit30ed9de2fd8a572ffce26f7a9c8187335c567668 (patch)
tree543c9a5bc7022f43bc72d7db30e7e2e9dea0b346 /package/network-manager
parent557f8d649d9a959e810a3c92774020a434d567a8 (diff)
downloadbuildroot-30ed9de2fd8a572ffce26f7a9c8187335c567668.tar.gz
buildroot-30ed9de2fd8a572ffce26f7a9c8187335c567668.zip
package/gnutls: disable for static build
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] https://gitlab.com/gnutls/gnutls/commit/6b748886799f88ddee9721dba4fc4d52854832ae 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>
Diffstat (limited to 'package/network-manager')
-rw-r--r--package/network-manager/Config.in5
1 files changed, 3 insertions, 2 deletions
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index c9dabfdd42..04bb651325 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_NETWORK_MANAGER
bool "networkmanager"
depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
+ depends on !BR2_STATIC_LIBS # gnutls
depends on BR2_USE_MMU # dbus
depends on BR2_PACKAGE_HAS_UDEV
# Tested with 3.2, but may even work with earlier versions
@@ -57,8 +58,8 @@ comment "pppd support needs a glibc or uClibc toolchain"
endif
-comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.7"
+comment "NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.7, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV || \
!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7 || \
- !BR2_TOOLCHAIN_USES_GLIBC
+ !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS
OpenPOWER on IntegriCloud