Bug #18820
closedon aarch64/Android/Termux/Ubuntu jammy server, ALL versions before Ruby 3.1.x don't compile!
Description
btw, this is a frustrating bug-reporting system to report a bug in?
so if I've reported it in the wrong place,
just delete my report.
My learning-programming environment is within a tablet,
so
aarch64 / Android 11 ( originally 10 or 9, iirc )
then Termux in that,
then Ubuntu Server jammy aka 22.04 LTS
then I get that set up, create a reg user to live in,
then I tried using "rbenv"
to get the same Ruby as my textbook
"Well Grounded Rubyist, 3rd edition",
which is a 2.5.x variant
( I wasted months trying
to learn Haskell with old books,
and the language simply doesn't work the same,
in newer tools,
ie do what the textbook told you to do,
and get nowhere.
I'm not interested in such
grinding demotivation within learning Ruby, too,
see? )
So, after trying the apt install rbenv
and then
rbenv install 2.5.8, then 2.5.7, then 2.5.6...
I wrongly believed that the problem was in rbenv.
So, I ripped that apt installed version out
& failed to install Homebrew,
which doesn't even try to work,
for people who are in ARM based machines.
then tried installing the git version of rbenv.
Then I tried a script that did
rbenv install $i
on these versions:
2.5.9
2.6.10 2.7.6 3.0.4 3.1.2
ALL of them, except for the last, failed.
viewing the 2.5.9 stderr in vim, copy-paste gives you:
Downloading ruby-2.5.9.tar.bz2...
2 -> https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.9.tar.bz2
3 Installing ruby-2.5.9...
4
5 WARNING: ruby-2.5.9 is past its end of life and is now unsupported.
6 It no longer receives bug fixes or critical security updates.
7
8
9 BUILD FAILED (Ubuntu 22.04 using ruby-build 20220426-3-g1038c07)
10
11 Inspect or clean up the working tree at /tmp/ruby-build.20220607213721.9846.fZCTZz
12 Results logged to /tmp/ruby-build.20220607213721.9846.log
13
14 Last 10 log lines:
15 cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silenc e earlier diagnostics 16 cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been inten ded to silence earlier diagnostics 17 cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics 18 cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silenc e earlier diagnostics 19 cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been inten ded to silence earlier diagnostics 20 cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics 21 linking shared-object socket.so
22 make[2]: Leaving directory '/tmp/ruby-build.20220607213721.9846.fZCTZz/ruby-2.5.9/ext/socket'
23 make[1]: Leaving directory '/tmp/ruby-build.20220607213721.9846.fZCTZz/ruby-2.5.9'
24 make: *** [uncommon.mk:240: build-ext] Error 2
2.6.10 gives:
Downloading ruby-2.6.10.tar.bz2... 2 -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.10.tar.bz2 3 Installing ruby-2.6.10...
4
5 BUILD FAILED (Ubuntu 22.04 using ruby-build 20220426-3-g1038c07)
6
7 Inspect or clean up the working tree at /tmp/ruby-build.20220607215706.16321.hja12y
8 Results logged to /tmp/ruby-build.20220607215706.16321.log
9
10 Last 10 log lines:
11 cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
12 cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been inten ded to silence earlier diagnostics
13 make[2]: Leaving directory '/tmp/ruby-build.20220607215706.16321.hja12y/ruby-2.6.10/ext/date' 14 cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silenc e earlier diagnostics 15 cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics 16 cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been inten ded to silence earlier diagnostics 17 linking shared-object socket.so
18 make[2]: Leaving directory '/tmp/ruby-build.20220607215706.16321.hja12y/ruby-2.6.10/ext/socket' 19 make[1]: Leaving directory '/tmp/ruby-build.20220607215706.16321.hja12y/ruby-2.6.10'
20 make: *** [uncommon.mk:286: build-ext] Error 2
2.7.6 gives:
Downloading ruby-2.7.6.tar.bz2...
2 -> https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.6.tar.bz2
3 Installing ruby-2.7.6...
4
5 BUILD FAILED (Ubuntu 22.04 using ruby-build 20220426-3-g1038c07)
6
7 Inspect or clean up the working tree at /tmp/ruby-build.20220607221808.26955.YM2p7g
8 Results logged to /tmp/ruby-build.20220607221808.26955.log
9
10 Last 10 log lines:
11 from ./tool/rbinstall.rb:846:in `block (2 levels) in install_default_gem' 12 from ./tool/rbinstall.rb:279:in `open_for_install'
13 from ./tool/rbinstall.rb:845:in `block in install_default_gem' 14 from ./tool/rbinstall.rb:835:in `each'
15 from ./tool/rbinstall.rb:835:in `install_default_gem'
16 from ./tool/rbinstall.rb:799:in `block in <main>' 17 from ./tool/rbinstall.rb:950:in `block in <main>' 18 from ./tool/rbinstall.rb:947:in `each' 19 from ./tool/rbinstall.rb:947:in `<main>' 20 make: *** [uncommon.mk:373: do-install-all] Error 1
3.0.4 gives:
Downloading ruby-3.0.4.tar.gz...
2 -> https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.4.tar.gz
3 Installing ruby-3.0.4... 4
5 BUILD FAILED (Ubuntu 22.04 using ruby-build 20220426-3-g1038c07)
6
7 Inspect or clean up the working tree at /tmp/ruby-build.20220607224439.22472.y5B6bl
8 Results logged to /tmp/ruby-build.20220607224439.22472.log
9
10 Last 10 log lines:
11 installing bundled gem cache: /home/agrevok/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/cac he 12 The Ruby openssl extension was not compiled. 13 ERROR: Ruby install aborted due to missing extensions 14 Try running `apt-get install -y libssl-dev` to fetch missing dependencies. 15 16 Configure options used: 17 --prefix=/home/agrevok/.rbenv/versions/3.0.4 18 --enable-shared 19 LDFLAGS=-L/home/agrevok/.rbenv/versions/3.0.4/lib 20 CPPFLAGS=-I/home/agrevok/.rbenv/versions/3.0.4/include
and 3.1.2 didn't fail.
gcc is:
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
I have clang-13 installed
( trying to get Haskell's GHCup & cabal system to work,
& failing in that, too )
I'm hoping that this info enables the ruby-build system
to be made to work, hopefully without bother.
Logfiles for those 4 failed builds are included below.
the ruby -v listed below is with the Ubuntu jammy apt installed one:
I haven't yet tried to switch between the 2 that apparently work on this machine, with rbenv.
Maybe tmr.
Salut, Namaste, & Kaizen
Files
Updated by hsbt (Hiroshi SHIBATA) over 2 years ago
- Is duplicate of Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x) added
Updated by hsbt (Hiroshi SHIBATA) over 2 years ago
- Status changed from Open to Closed
Updated by libweirdness (Antryg Revok) over 2 years ago
the 2.5.x build-failure was due to all warnings being converted to errors, and some screwy casting ( between types ).
it looked to me like the reasons were different for different versions.
Updated by nobu (Nobuyoshi Nakada) over 2 years ago
The failure of 2.5.9 is here: https://bugs.ruby-lang.org/attachments/9280#L1851
ossl.c:311:9: error: ‘ERR_get_error_line_data’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 311 | while ((e = ERR_get_error_line_data(&file, &line, &data, &flags))) { | ^~~~~
That is an OpenSSL 3.0 issue.