Skip to contentSkip to conversation

Revert "gnutls: drop wchar dependency"

PATCH New Baruch Siach 2 participants 2 messages Jun 29, 2018 – Jun 30, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Revert "gnutls: drop wchar dependency"

This reverts commit 694cdb9273433e8a1278e2e3bb2a7fe2004aa813.

Just like commit 68c3f5257d94 (Revert "gnutls: make it non-wchar friendly") before. It turns out that gnulib expects some other library to provide a wctomb() implementation. So when the C library does not provide one it is left as undefined symbol in libgnutls.so.

Add a comment to reduce the chance of repeating the same mistake again.

Fixes:
http://autobuild.buildroot.net/results/86f/86f08276fcb0cc557ab3cc5f57229b2c0c6ac2d7/
http://autobuild.buildroot.net/results/7c4/7c4bcb839f0ad5bc0496b4115ff391a3b312581a/
http://autobuild.buildroot.net/results/1c3/1c353f542c49bbe5520266c0ebb6a58589032453/

---
v2: Add a Config.in comment (Thomas P)

---
 package/gnutls/Config.in        | 7 +++++--
 package/libmicrohttpd/Config.in | 5 +++--
 package/libsoup/Config.in       | 2 +-
 package/taskd/Config.in         | 2 +-
 package/vpnc/Config.in          | 5 +++--
 5 files changed, 13 insertions(+), 8 deletions(-)
package/gnutls/Config.in +5 -2
index 61b4b239ff82..7e8dcc1e4f8b 100644
@@ -2,6 +2,9 @@ config BR2_PACKAGE_GNUTLS
 	bool "gnutls"
 	# https://gitlab.com/gnutls/gnutls/issues/203
 	depends on !BR2_STATIC_LIBS
+	# gnulib requires a library that implements wctomb().
+	# This is noticed only when linking with libgnutls.so.
+	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_LIBTASN1
 	select BR2_PACKAGE_NETTLE
 	select BR2_PACKAGE_PCRE
@@ -23,5 +26,5 @@ config BR2_PACKAGE_GNUTLS_TOOLS
 
 endif
 
-comment "gnutls needs a toolchain w/ dynamic library"
-	depends on BR2_STATIC_LIBS
+comment "gnutls needs a toolchain w/ wchar, dynamic library"
+	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
package/libmicrohttpd/Config.in +3 -2
index f3386a63f272..7f3c9bb8fda0 100644
@@ -12,12 +12,13 @@ if BR2_PACKAGE_LIBMICROHTTPD
 config BR2_PACKAGE_LIBMICROHTTPD_SSL
 	bool "https support"
 	depends on !BR2_STATIC_LIBS # gnutls
+	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_GNUTLS
 	help
 	  Enable HTTPS (SSL) support.
 
-comment "libmicrohttpd https support needs a toolchain w/ dynamic library"
-	depends on BR2_STATIC_LIBS
+comment "libmicrohttpd https support needs a toolchain w/ wchar, dynamic library"
+	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
 
 endif
 
package/libsoup/Config.in +1 -1
index f5833229139a..236d3c428a83 100644
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_LIBSOUP
 	bool "libsoup"
-	depends on BR2_USE_WCHAR # glib2
+	depends on BR2_USE_WCHAR # glib2 and gnutls
 	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
 	depends on BR2_USE_MMU # glib2
 	select BR2_PACKAGE_LIBXML2
package/taskd/Config.in +1 -1
index c068b347242b..19d123fb5910 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_TASKD
 	bool "taskd"
 	depends on !BR2_STATIC_LIBS # gnutls
-	depends on BR2_USE_WCHAR
+	depends on BR2_USE_WCHAR # gnutls
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_INSTALL_LIBSTDCPP
 	select BR2_PACKAGE_GNUTLS
package/vpnc/Config.in +3 -2
index b988ba342bef..6455b0d87abe 100644
@@ -3,6 +3,7 @@ config BR2_PACKAGE_VPNC
 	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
 	depends on !BR2_STATIC_LIBS # gnutls
 	depends on BR2_USE_MMU # fork()
+	depends on BR2_USE_WCHAR # gnutls
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBGPG_ERROR
 	select BR2_PACKAGE_GNUTLS
@@ -15,6 +16,6 @@ config BR2_PACKAGE_VPNC
 
 	  http://www.unix-ag.uni-kl.de/~massar/vpnc
 
-comment "vpnc needs a toolchain w/ dynamic library"
+comment "vpnc needs a toolchain w/ wchar, dynamic library"
 	depends on BR2_USE_MMU
-	depends on BR2_STATIC_LIBS
+	depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
Signature · 1 line
2.18.0
#1 lore raw

PATCH 1/1 Revert "gnutls: drop wchar dependency"

Hello,

Quoted 19 lines · Baruch Siach

This reverts commit 694cdb9273433e8a1278e2e3bb2a7fe2004aa813.

Just like commit 68c3f5257d94 (Revert "gnutls: make it non-wchar friendly") before. It turns out that gnulib expects some other library to provide a wctomb() implementation. So when the C library does not provide one it is left as undefined symbol in libgnutls.so.

Add a comment to reduce the chance of repeating the same mistake again.

Fixes:
http://autobuild.buildroot.net/results/86f/86f08276fcb0cc557ab3cc5f57229b2c0c6ac2d7/
http://autobuild.buildroot.net/results/7c4/7c4bcb839f0ad5bc0496b4115ff391a3b312581a/
http://autobuild.buildroot.net/results/1c3/1c353f542c49bbe5520266c0ebb6a58589032453/

---
v2: Add a Config.in comment (Thomas P)

Quoted 7 lines
---
 package/gnutls/Config.in        | 7 +++++--
 package/libmicrohttpd/Config.in | 5 +++--
 package/libsoup/Config.in       | 2 +-
 package/taskd/Config.in         | 2 +-
 package/vpnc/Config.in          | 5 +++--
 5 files changed, 13 insertions(+), 8 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com