![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>
82 lines
2.8 KiB
Plaintext
82 lines
2.8 KiB
Plaintext
config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
|
|
bool
|
|
# ARM needs BLX, so v5t+, BE completely untested so disabled
|
|
default y if BR2_arm && !BR2_ARM_CPU_ARMV4
|
|
default y if BR2_i386 || BR2_x86_64
|
|
# Disabled on MIPS big endian due to sigbus
|
|
default y if BR2_mipsel || BR2_mips64el
|
|
# Disabled on PowerPC pending runtime testing
|
|
# Disabled on SuperH because of segfault
|
|
depends on BR2_USE_MMU # libglib2
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
|
|
comment "webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 4.9"
|
|
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
|
|
depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
|
|
!BR2_TOOLCHAIN_USES_GLIBC || \
|
|
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
depends on BR2_USE_MMU
|
|
|
|
config BR2_PACKAGE_WEBKITGTK
|
|
bool "webkitgtk"
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC
|
|
depends on BR2_PACKAGE_LIBGTK3
|
|
depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
|
|
select BR2_PACKAGE_CAIRO
|
|
select BR2_PACKAGE_CAIRO_PNG
|
|
select BR2_PACKAGE_ENCHANT
|
|
select BR2_PACKAGE_HARFBUZZ
|
|
select BR2_PACKAGE_ICU
|
|
select BR2_PACKAGE_JPEG
|
|
select BR2_PACKAGE_LIBSECRET
|
|
select BR2_PACKAGE_LIBSOUP
|
|
select BR2_PACKAGE_LIBXML2
|
|
select BR2_PACKAGE_LIBXSLT
|
|
select BR2_PACKAGE_SQLITE
|
|
select BR2_PACKAGE_WEBP
|
|
select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
|
|
select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
|
|
select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
|
|
select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11
|
|
help
|
|
WebKit is an open source, standards compliant web browser engine.
|
|
|
|
http://www.webkitgtk.org/
|
|
|
|
if BR2_PACKAGE_WEBKITGTK
|
|
|
|
config BR2_PACKAGE_WEBKITGTK_HTTPS
|
|
bool "HTTPS support"
|
|
depends on !BR2_STATIC_LIBS # gnutls -> libsoup
|
|
select BR2_PACKAGE_CA_CERTIFICATES # runtime
|
|
select BR2_PACKAGE_LIBSOUP_SSL
|
|
help
|
|
Enable HTTPS protocol support.
|
|
|
|
comment "webkitgtk https support needs a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
|
|
config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
|
|
bool "multimedia support"
|
|
select BR2_PACKAGE_GSTREAMER1
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE
|
|
select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
|
|
select BR2_PACKAGE_GST1_PLUGINS_GOOD
|
|
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4
|
|
select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP
|
|
select BR2_PACKAGE_GST1_LIBAV
|
|
help
|
|
This option pulls in all of the required dependencies
|
|
to enable multimedia (video/audio) support.
|
|
|
|
endif
|