Project

General

Profile

Actions

Bug #10253

closed

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.

Added by Anonymous about 10 years ago. Updated over 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
[ruby-core:65093]

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.
Actions #4

Updated by jeremyevans0 (Jeremy Evans) over 5 years ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0