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 about 10 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 about 10 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) about 10 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) over 5 years ago
- Status changed from Open to Closed