From 6ff71dd308b1611df7a8ea811a79b7cb884c99e9 Mon Sep 17 00:00:00 2001 From: André Draszik Date: Tue, 1 Oct 2019 10:54:51 +0100 Subject: ruby: fix non-IPv6 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When IPv6 support is disabled, this recipe mis-configures ruby so that it end up non-working: --enable-wide-getaddrinfo instructs ruby to re-implement the standard getaddinfo(), but IPv6 support is still automatically detected via ext/socket/extconf.rb independently of that flag. To re-implement getaddrinfo(), ruby uses the obsolete getipnodebyaddr() and getipnodebyname() functions - i.e. according to the man-page, glibc provided those only in glibc 2.1.91-95; and of course compilation fails. [1] Switch to ruby's standard --enable-ipv6= configure options to make the build work without warnings, and ruby work at runtime as well. [1] Compilation and linking actually succeed, albeit with a warning regarding implicit declaration / unresolved symbols. The error is only obvious at runtime due to the unresolved symbols... Signed-off-by: André Draszik Signed-off-by: Ross Burton --- meta/recipes-devtools/ruby/ruby_2.5.5.bb | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'meta/recipes-devtools/ruby') diff --git a/meta/recipes-devtools/ruby/ruby_2.5.5.bb b/meta/recipes-devtools/ruby/ruby_2.5.5.bb index 341329a6a1..223b0371eb 100644 --- a/meta/recipes-devtools/ruby/ruby_2.5.5.bb +++ b/meta/recipes-devtools/ruby/ruby_2.5.5.bb @@ -8,17 +8,12 @@ SRC_URI += " \ SRC_URI[md5sum] = "7e156fb526b8f4bb1b30a3dd8a7ce400" SRC_URI[sha256sum] = "28a945fdf340e6ba04fc890b98648342e3cccfd6d223a48f3810572f11b2514c" -# it's unknown to configure script, but then passed to extconf.rb -# maybe it's not really needed as we're hardcoding the result with -# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch -UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo" - PACKAGECONFIG ??= "" PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp" -PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo," +PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," EXTRA_AUTORECONF += "--exclude=aclocal" -- cgit 1.2.3-korg