Projects

Ticket #377 (closed defect: fixed)

Opened 2 years ago

Last modified 23 months ago

macgem crashes while installing any gem

Reported by: amadeusz.jasak+macruby@… Owned by: lsansonetti@…
Priority: blocker Milestone: MacRuby 0.6
Component: MacRuby Keywords: macgem, gem
Cc: amadeusz.jasak+macruby@…

Description

Hi, I've installed the latest daily build of MacRuby (09.10.09), I used to use MacRuby few months ago without any problems. I've upgraded to Snow Leopard and Xcode 3.2 so I needed the newest build. There is a problem while installing any gem (dm-core, haml, sinatra...) eg.

bash-3.2# macruby -v
MacRuby version 0.5 (ruby 1.9.0) [universal-darwin10.0, x86_64]

bash-3.2# macgem install dm-core
ERROR:  While executing gem ... (ArgumentError)
    Illformed requirement [nil]

Change History

  Changed 2 years ago by amadeusz.jasak+macruby@…

  • cc amadeusz.jasak+macruby@… added

Cc Me!

in reply to: ↑ description   Changed 2 years ago by amadeusz.jasak+macruby@…

Adding to amadeusz.jasak+macruby@…:

Hi, I've installed the latest daily build of MacRuby (09.10.09), I used to use MacRuby few months ago without any problems. I've upgraded to Snow Leopard and Xcode 3.2 so I needed the newest build. There is a problem while installing any gem (dm-core, haml, sinatra...) eg. {{{ bash-3.2# macruby -v MacRuby version 0.5 (ruby 1.9.0) [universal-darwin10.0, x86_64] bash-3.2# macgem install dm-core ERROR: While executing gem ... (ArgumentError) Illformed requirement [nil] }}}

Not working on Macruby 0.5 beta 1 too... :(

  Changed 2 years ago by lsansonetti@…

Could you paste your ~/.gemrc file if you have one? Also, could you pass -V to `macgem install' and paste us the output?

  Changed 2 years ago by lsansonetti@…

Also, were you able to install a gem before getting this problem? Is there anything in ~/.gem/macruby/1.9.0/gems or /Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems?

  Changed 2 years ago by amadeusz.jasak+macruby@…

I could use gems in previous versions. There were some gems in gems directories, but none of them were working :( So I removed contents of gems/ and after

$ sudo macgem install -V dm-core
Installing gem extlib-0.9.13
Downloading gem extlib-0.9.13.gem
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/LICENSE
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/README
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/Rakefile
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/History.txt
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/array.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/assertions.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/blank.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/boolean.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/byte_array.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/class.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/datetime.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/dictionary.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/hash.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/hook.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/inflection.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/lazy_array.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/lazy_module.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/logger.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/mash.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/module.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/nil.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/numeric.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/object.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/object_space.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/pathname.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/pooling.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/rubygems.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/simple_set.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/string.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/struct.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/symbol.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/tasks/release.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/time.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/version.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib/virtual_file.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/lib/extlib.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/array_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/blank_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/byte_array_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/class_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/datetime_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/hash_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/hook_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/inflection/plural_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/inflection/singular_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/inflection_extras_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/lazy_array_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/lazy_module_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/mash_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/module_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/object_space_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/object_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/pooling_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/simple_set_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/spec.opts
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/spec_helper.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/string_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/struct_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/symbol_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/time_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/try_call_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/try_dup_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/extlib-0.9.13/spec/virtual_file_spec.rb

Installing gem addressable-2.1.0
Downloading gem addressable-2.1.0.gem
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/lib/addressable/idna.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/lib/addressable/template.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/lib/addressable/uri.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/lib/addressable/version.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/spec/addressable/idna_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/spec/addressable/template_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/spec/addressable/uri_spec.rb
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/spec/data/rfc3986.txt
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/tasks/clobber.rake
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/tasks/gem.rake
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/tasks/git.rake
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/tasks/metrics.rake
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/tasks/rdoc.rake
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/tasks/rubyforge.rake
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/tasks/spec.rake
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/website/index.html
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/CHANGELOG
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/LICENSE
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/Rakefile
/Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.0/README
ERROR:  While executing gem ... (ArgumentError)
    Illformed requirement [nil]

Now there are both addressable and extlib gems installed, but not dm-core, because macgem crashed. What is interesting

$ macirb 
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'extlib'
=> true
irb(main):003:0> require 'addressable/uri'
LoadError: no such file to load -- addressable/uri
	from core:in `raise:'
	from core:in `require:'

So I can load only the first gem not the second, what is pretty strange - dm-core is still not installed.

  Changed 2 years ago by lsansonetti@…

I was able to install the dm-core gem on my environment but it cannot be loaded after because bigdecimal has not been implemented yet.

$ macgem install dm-core
WARNING:  Installing to ~/.gem since /Library/Frameworks/MacRuby.framework/Versions/0.5/usr/lib/ruby/Gems/1.9.0 and
	  /usr/bin aren't both writable.
WARNING:  You don't have /Users/lrz/.gem/macruby/1.9.0/bin in your PATH,
	  gem executables will not run.
Successfully installed extlib-0.9.13
Successfully installed addressable-2.1.0
Successfully installed dm-core-0.10.1
3 gems installed
$ macruby -r rubygems -e "require 'dm-core'; p 42"
core:in `raise:': no such file to load -- bigdecimal (LoadError)
	from core:in `require:'

It looks like there is something wrong in your environment. It would be interesting to investigate where exactly in rubygems this "Illformed requirement [nil]" exception is raised.

Also, could you try the following: `VM_DISABLE_RBO=1 macgem install dm-core' and let us know if it still fails.

  Changed 2 years ago by amadeusz.jasak+macruby@…

VM_DISABLE_RBO=1 macgem install dm-core doesn't change anything... Good to know that DataMapper woudn't work anyway. But I still want to solve my problem.

According to  http://www.google.com/codesearch?hl=en&sa=N&q=%22Illformed+requirement%22++lang:ruby&ct=rr&cs_r=lang:ruby this error means there is something wrong with version string parser. Because it's nil (Illformed requirement [nil], isn't it?) it cannot work correctly. The question is why it's nil?

  Changed 23 months ago by martinlagardette@…

This should be fixed with the latest trunk, can you verify?

  Changed 23 months ago by lsansonetti@…

  • status changed from new to closed
  • resolution set to fixed
  • milestone changed from MacRuby 0.5 to MacRuby 0.6

I tried with ToT and the dm-core gem seems to be installable (as well as its dependencies). However it cannot be loaded:

$ /usr/local/bin/macruby -e "require 'rubygems'; require 'dm-core'; p 42"
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/addressable-2.1.1/lib/addressable/idna.rb:4696: regexp `\0+\z 'compilation error: U_REGEX_BAD_ESCAPE_SEQUENCE
/Users/lrz/src/macruby-trunk/-e:1:in `<main>': no such file to load -- dm-core (LoadError)
$

Apparently the addressable gem has a regular expression that ICU won't compile. But this is a separate issue that should be tracked by another bug. So I am closing this one, let us know if macgem still does not work for you and we will re-investigate.

Note: See TracTickets for help on using tickets.