Project

General

Profile

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.

Back