![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>
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
comment "samba4 needs a toolchain w/ RPC, wchar, dynamic library, NPTL"
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_NATIVE_RPC \
|
|
|| BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
depends on BR2_USE_MMU
|
|
|
|
config BR2_PACKAGE_SAMBA4
|
|
bool "samba4"
|
|
depends on BR2_USE_MMU # fork()
|
|
depends on BR2_USE_WCHAR # python
|
|
depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # python -> libffi
|
|
depends on !BR2_STATIC_LIBS # python, gnutls
|
|
depends on !BR2_nios2 # binary too large, relocations don't fit
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
select BR2_PACKAGE_E2FSPROGS
|
|
select BR2_PACKAGE_POPT
|
|
select BR2_PACKAGE_PYTHON
|
|
select BR2_PACKAGE_ZLIB
|
|
help
|
|
Provides secure, stable and fast file and print services
|
|
for all clients using the SMB/CIFS protocol, such as all
|
|
versions of DOS, Windows, OS/2, Linux and many others.
|
|
|
|
http://www.samba.org/
|
|
|
|
if BR2_PACKAGE_SAMBA4
|
|
|
|
config BR2_PACKAGE_SAMBA4_AD_DC
|
|
bool "AD DC"
|
|
select BR2_PACKAGE_GNUTLS
|
|
help
|
|
Enable Active Directory Domain Controller functionality.
|
|
|
|
config BR2_PACKAGE_SAMBA4_ADS
|
|
bool "ADS"
|
|
select BR2_PACKAGE_OPENLDAP
|
|
help
|
|
Enable Active Directory member Server functionality.
|
|
|
|
config BR2_PACKAGE_SAMBA4_SMBTORTURE
|
|
bool "smbtorture"
|
|
help
|
|
Install the smbtorture test suite.
|
|
It's normally used for validation and stress testing.
|
|
Approximately +5 MB of stripped uncompressed target space.
|
|
|
|
endif
|