diff options
author | André Draszik <andre.draszik@jci.com> | 2019-10-01 10:54:51 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-10-02 10:09:48 +0100 |
commit | a2f9d0c4bf31bef92e520237233d8334c969160f (patch) | |
tree | 72ff6f74d0dd81ce3fe2cab72fcda719c83685d9 /meta/recipes-devtools/ruby | |
parent | efa2caab22e5c9b37132f869c91b8cbb400df1ee (diff) | |
download | poky-a2f9d0c4bf31bef92e520237233d8334c969160f.tar.gz |
ruby: fix non-IPv6 support
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...
(From OE-Core rev: 6ff71dd308b1611df7a8ea811a79b7cb884c99e9)
Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/ruby')
-rw-r--r-- | meta/recipes-devtools/ruby/ruby_2.5.5.bb | 7 |
1 files changed, 1 insertions, 6 deletions
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 += " \ | |||
8 | SRC_URI[md5sum] = "7e156fb526b8f4bb1b30a3dd8a7ce400" | 8 | SRC_URI[md5sum] = "7e156fb526b8f4bb1b30a3dd8a7ce400" |
9 | SRC_URI[sha256sum] = "28a945fdf340e6ba04fc890b98648342e3cccfd6d223a48f3810572f11b2514c" | 9 | SRC_URI[sha256sum] = "28a945fdf340e6ba04fc890b98648342e3cccfd6d223a48f3810572f11b2514c" |
10 | 10 | ||
11 | # it's unknown to configure script, but then passed to extconf.rb | ||
12 | # maybe it's not really needed as we're hardcoding the result with | ||
13 | # 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch | ||
14 | UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo" | ||
15 | |||
16 | PACKAGECONFIG ??= "" | 11 | PACKAGECONFIG ??= "" |
17 | PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" | 12 | PACKAGECONFIG += "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" |
18 | 13 | ||
19 | PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" | 14 | PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" |
20 | PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp" | 15 | PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp" |
21 | PACKAGECONFIG[ipv6] = ",--enable-wide-getaddrinfo," | 16 | PACKAGECONFIG[ipv6] = "--enable-ipv6, --disable-ipv6," |
22 | 17 | ||
23 | EXTRA_AUTORECONF += "--exclude=aclocal" | 18 | EXTRA_AUTORECONF += "--exclude=aclocal" |
24 | 19 | ||