Bug #10253
closedruby v>= 2.1.2 build fails @ `make install` with error: "integer 8070450537616637957 too big to convert to `int' "; v<= 2.0.0 is OK.
Description
referred from:
https://github.com/wayneeseguin/rvm/issues/3036#issuecomment-55945003
"this might be an bug caused by --prog-mode=0755, but my limited testing did not show any problems, please run this:
/usr/local/rvm/src/ruby-2.1.2/miniruby -e "hex = 'x[\da-f]+(?:[\da-f]+)*' ; binary = 'b[01]+(?:[01]+)' ; puts (/\A[-+]?(?:[0-7]+(?:_[0-7]+)|0(?:#{binary}|#{hex}))\z/io).match('0755')"
it should return 0755 ... in any case this looks like a bug in ruby, please open a ticket here: https://bugs.ruby-lang.org/projects/ruby-trunk - let me know if you need help with it"
checking
/usr/local/rvm/src/ruby-2.1.2/miniruby -e "hex = 'x[\da-f]+(?:_[\da-f]+)*' ; binary = 'b[01]+(?:_[01]+)*' ; puts (/\A[-+]?(?:[0-7]+(?:_[0-7]+)*|0(?:#{binary}|#{hex}))\z/io).match('0755')"
0755
With
rvm --version
rvm 1.25.30 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
I'm trying to do a clean install of ruby 2.1.2
rvm install 2.1.2
...
make[2]: `ruby' is up to date.
make[2]: Leaving directory `/usr/local/rvm/src/ruby-2.1.2'
make[1]: Leaving directory `/usr/local/rvm/src/ruby-2.1.2'
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
installing binary commands: /usr/local/rvm/rubies/ruby-2.1.2/bin
/usr/local/rvm/src/ruby-2.1.2/lib/fileutils.rb:247:in `mkdir': integer 8070450537616637957 too big to convert to `int' (RangeError)
from /usr/local/rvm/src/ruby-2.1.2/lib/fileutils.rb:247:in `fu_mkdir'
from /usr/local/rvm/src/ruby-2.1.2/lib/fileutils.rb:211:in `block in mkdir_p'
from /usr/local/rvm/src/ruby-2.1.2/lib/fileutils.rb:208:in `each'
from /usr/local/rvm/src/ruby-2.1.2/lib/fileutils.rb:208:in `mkdir_p'
from ./tool/rbinstall.rb:193:in `makedirs'
from ./tool/rbinstall.rb:300:in `prepare'
from ./tool/rbinstall.rb:339:in `block in <main>'
from ./tool/rbinstall.rb:789:in `call'
from ./tool/rbinstall.rb:789:in `block in <main>'
from ./tool/rbinstall.rb:786:in `each'
from ./tool/rbinstall.rb:786:in `<main>'
make: *** [do-install-nodoc] Error 1
++ return 2
I've found mention of this "too big" error online, but none that reference a ruby/rvm fix.
No clue what's unique on this box, or why this occurs. Any hints on cause or fix?
Updated by Anonymous over 9 years ago
rvm install
of ruby ver <= 2.0.0 appears ok.
rvm install
of ruby ver >= 2.1.1 FAILs as above
is the issue with rvm, or ruby?
\curl -sSL https://get.rvm.io | sudo bash -s stable --ignore-dotfiles --rails
rvm reload
rvm list known
1 # MRI Rubies
2 [ruby-]1.8.6[-p420]
3 [ruby-]1.8.7[-head] # security released on head
4 [ruby-]1.9.1[-p431]
5 [ruby-]1.9.2[-head] # security released on head
6 [ruby-]1.9.3[-p547]
7 [ruby-]2.0.0-p451
8 [ruby-]2.0.0[-p481]
9 [ruby-]2.1.1
10 [ruby-]2.1[.2]
11 [ruby-]2.1-head
...
rvm install 1.9.3
...
Install of ruby-1.9.3-p547 - #complete
...
WARNING: Please be aware that you just installed a ruby that is no longer maintained (2014-02-23),
...
Please consider upgrading to ruby-2.1.2 which will have all of the latest security patches.
rvm remove 1.9.3
rvm install 2.0.0
...
Install of ruby-2.0.0-p481 - #complete
...
rvm remove 2.0.0
rvm install 2.1.1
ruby-2.1.1 - #installing................................
Error running '__rvm_make install',
showing last 15 lines of /usr/local/rvm/log/1411045653_ruby-2.1.1/install.log
installing binary commands: /usr/local/rvm/rubies/ruby-2.1.1/bin
/usr/local/rvm/src/ruby-2.1.1/lib/fileutils.rb:247:in `mkdir': integer 8070450537616637957 too big to convert to `int' (RangeError)
from /usr/local/rvm/src/ruby-2.1.1/lib/fileutils.rb:247:in `fu_mkdir'
from /usr/local/rvm/src/ruby-2.1.1/lib/fileutils.rb:211:in `block in mkdir_p'
from /usr/local/rvm/src/ruby-2.1.1/lib/fileutils.rb:208:in `each'
from /usr/local/rvm/src/ruby-2.1.1/lib/fileutils.rb:208:in `mkdir_p'
from ./tool/rbinstall.rb:193:in `makedirs'
from ./tool/rbinstall.rb:300:in `prepare'
from ./tool/rbinstall.rb:339:in `block in <main>'
from ./tool/rbinstall.rb:789:in `call'
from ./tool/rbinstall.rb:789:in `block in <main>'
from ./tool/rbinstall.rb:786:in `each'
from ./tool/rbinstall.rb:786:in `<main>'
make: *** [do-install-nodoc] Error 1
++ return 2
There has been an error while running make install. Halting the installation.
Updated by Anonymous over 9 years ago
removing rvm from the situation:
a src build of ruby 2.1.2 fails similarly
wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz
tar zxvf ruby-2.1.2.tar.gz
cd ruby-2.1.2
./configure --prefix=/usr/local/ruby-test-build
make -j4
...
make[1]: Leaving directory `/usr/local/src/ruby-2.1.2'
Generating RDoc documentation
Parsing sources...
100% [962/962] vsnprintf.c
Generating RI format into /usr/local/src/ruby-2.1.2/.ext/rdoc...
Files: 962
Classes: 1414 ( 566 undocumented)
Modules: 268 ( 87 undocumented)
Constants: 2097 ( 624 undocumented)
Attributes: 1146 ( 272 undocumented)
Methods: 10649 (2226 undocumented)
Total: 15574 (3775 undocumented)
75.76% documented
Elapsed: 219.7s
make install
...
config.status: creating x86_64-linux-fake.rb
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc" --install=all --rdoc-output=".ext/rdoc"
installing binary commands: /usr/local/ruby-test-build/bin
/usr/local/src/ruby-2.1.2/lib/fileutils.rb:247:in `mkdir': integer 8070450537616637957 too big to convert to `int' (RangeError)
from /usr/local/src/ruby-2.1.2/lib/fileutils.rb:247:in `fu_mkdir'
from /usr/local/src/ruby-2.1.2/lib/fileutils.rb:211:in `block in mkdir_p'
from /usr/local/src/ruby-2.1.2/lib/fileutils.rb:208:in `each'
from /usr/local/src/ruby-2.1.2/lib/fileutils.rb:208:in `mkdir_p'
from ./tool/rbinstall.rb:193:in `makedirs'
from ./tool/rbinstall.rb:300:in `prepare'
from ./tool/rbinstall.rb:339:in `block in <main>'
from ./tool/rbinstall.rb:789:in `call'
from ./tool/rbinstall.rb:789:in `block in <main>'
from ./tool/rbinstall.rb:786:in `each'
from ./tool/rbinstall.rb:786:in `<main>'
make: *** [do-install-all] Error 1
tarball builds of versions <= 2.0.0 are OK.
Updated by hsbt (Hiroshi SHIBATA) over 9 years ago
- Subject changed from `rvm install 2.1.2` fails @ "integer 8070450537616637957 too big to convert to `int' " error? to ruby v>= 2.1.2 build fails @ `make install` with error: "integer 8070450537616637957 too big to convert to `int' "; v<= 2.0.0 is OK.
Updated by jeremyevans0 (Jeremy Evans) almost 5 years ago
- Status changed from Open to Closed