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 over 9 years ago. Updated over 4 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 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.
Actions #4

Updated by jeremyevans0 (Jeremy Evans) over 4 years ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0