Bug #16845
Updated by ErikSwan (Erik Swan) over 4 years ago
Hello,
I am trying to build Ruby 2.7.1 from source on a RHEL 6.9 system, which has ruby 1.8.7 as the existing system Ruby. When I run `make`, I get an error about a syntax error in `./tool/file2lastrev.rb`. I am guessing this is because `file2lastrev.rb` uses Ruby syntax that was introduced in a newer Ruby version, and is not valid in 1.8.7, resulting in a runtime error.
Here is a snippet of the error:
```
./tool/file2lastrev.rb:10:in `require': /tmp/eswan/ruby-2.7.1/tool/lib/vcs.rb:471: syntax error, unexpected ',', expecting ']' (SyntaxError)
last = cmd_read_at(srcdir, [[*gitcmd, 'rev-parse', ref]]).rstrip
^
/tmp/eswan/ruby-2.7.1/tool/lib/vcs.rb:471: syntax error, unexpected ',', expecting kEND
```
# Steps to reproduce:
1. Obtain a RHEL 6.8 or 6.9 system (this is also reproducible on 6.8, and might be reproducible on all 6.x)
2. Confirm `/usr/bin/ruby --version` reports Ruby 1.8.7.
3. Download and extract the Ruby 2.7.1 source archive.
4. Run `./configure`
5. Run `./make`
# Expected behavior:
`make` should run correctly without any errors.
# Actual behavior:
The Makefile errors out when trying to run `./tool/file2lastrev.rb` with the existing system Ruby.
A shell log showing steps to reproduce and the output of `configure` and `make` is attached.