More gem trouble but different now


#1

Hi
I got the latest svn revision for ironruby (r. 182).

I tried upgrading rubygems to version 1.3.1 (rails 2.2.2 needs it)
And it has a similar problem with the path name.
it fails with a directory not found exception

because it created a folder structure like this for generating the bin
folder
C:\External\languages\ruby\ruby-1.8.6\lib\ironruby\s\1.8\s\rubys-update-1.3.1

While the correct path should be.
C:\External\languages\ruby\ruby-1.8.6\lib\ironruby\gems\1.8\gems\rubygems-update-1.3.1

Below you can find what I submitted as a bug report to install the rails
gem.

c:\tools\ironruby\src\IronRuby.Libraries\Extensions\IListOps.cs:700:in
`each’

c:\tools\ironruby\src\IronRuby.Libraries\Builtins\Enumerable.cs:88:in
map' spec_fetcher.rb:61:infetch’
dependency_installer.rb:75:in find_gems_with_sources' dependency_installer.rb:162:infind_spec_by_name_and_version’
dependency_installer.rb:206:in install' install_command.rb:70:inexecute’

c:\tools\ironruby\src\IronRuby.Libraries\Extensions\IListOps.cs:700:in
each' install_command.rb:45:inexecute’
command.rb:129:in invoke' command_manager.rb:86:inprocess_args’
command_manager.rb:74:in run' gem_runner.rb:25:inrun’
:0

When I try to install rake remotely obviously it fails.
But I then took the .gem files for rake and rails and proceeded with:
igem
install --debug --local rails-2.2.2.gem
When they mean verbose they actually mean it :wink:

The first time I executed the command it wasn’t happy halfway through
the
install process of rake; failing with a DirectoryNotFound exception. It
fails because it is looking for a bin folder that should have been
created
in gems/rake-0.8.3/ folder but instead it gets created in a gems/-0.8.3
folder. Somehow it forgets which gem it is installing when it is
creating
the folder.

The error
» igem install --debug --local --verbose rails-2.2.2.gem
Installing gem rake-0.8.3
Using local gem
C:/tools/ironruby/lib/IronRuby/…/…/…/…/External/languages/ruby/ruby-1.8.6//lib/ironruby/gems/1.8/cache/rake-0.8.3.gem
C:/External/languages/ruby/ruby-1.8.6/lib/ironruby/gems/1.8/gems/rake-0.8.3/install.rb
C:/External/languages/ruby/ruby-1.8.6/lib/ironruby/gems/1.8/gems/rake-0.8.3/CHANGES
C:/External/languages/ruby/ruby-1.8.6/lib/ironruby/gems/1.8/gems/rake-0.8.3/MIT-LICENSE
C:/External/languages/ruby/ruby-1.8.6/lib/ironruby/gems/1.8/gems/rake-0.8.3/Rakefile
C:/External/languages/ruby/ruby-1.8.6/lib/ironruby/gems/1.8/gems/rake-0.8.3/README
C:/External/languages/ruby/ruby-1.8.6/lib/ironruby/gems/1.8/gems/rake-0.8.3/TODO
ERROR: While executing gem … (System::IO::DirectoryNotFoundException)
Could not find a part of the path
‘C:\External\languages\ruby\ruby-1.8.6\lib\ironruby\gems\1.8\gems\rake-0.8.3\bin\rake’.
mscorlib:0:in WinIOError' mscorlib:0:inInit’
mscorlib:0:in .ctor' c:\tools\ironruby\src\IronRuby.Libraries\Builtins\FileOps.cs:402:inopen’
installer.rb:443:in `extract_files’

c:\tools\ironruby\src\IronRuby.Libraries\Extensions\IListOps.cs:700:in
each' installer.rb:438:inextract_files’
installer.rb:104:in install' dependency_installer.rb:217:ininstall’

c:\tools\ironruby\src\IronRuby.Libraries\Extensions\IListOps.cs:700:in
each' dependency_installer.rb:206:ininstall’
install_command.rb:70:in `execute’

c:\tools\ironruby\src\IronRuby.Libraries\Extensions\IListOps.cs:700:in
each' install_command.rb:45:inexecute’
command.rb:129:in invoke' command_manager.rb:86:inprocess_args’
command_manager.rb:74:in run' gem_runner.rb:25:inrun’
:0

This is fine… I create a bin folder in the rake-0.8.3 folder and
proceed
with: igem install --debug --local rake-0.8.3.gem
That actually installs the gem but fails during the rdoc generation.

ERROR: While executing gem … (TypeError)
can’t convert Array into String
c:\tools\ironruby\src\IronRuby.Libraries\Builtins\FileOps.cs:288:in
join' html_generator.rb:612:inhttp_url’
html_generator.rb:590:in initialize' html_generator.rb:1264:inbuild_class_list’
html_generator.rb:1259:in `build_indices’

c:\tools\ironruby\src\IronRuby.Libraries\Extensions\IListOps.cs:700:in
each' html_generator.rb:1253:inbuild_indices’
html_generator.rb:1189:in generate' rdoc.rb:249:indocument’
doc_manager.rb:99:in run_rdoc' doc_manager.rb:81:ininstall_rdoc’
doc_manager.rb:50:in generate_rdoc' install_command.rb:112:inexecute’

c:\tools\ironruby\src\IronRuby.Libraries\Extensions\IListOps.cs:700:in
each' install_command.rb:45:inexecute’
command.rb:129:in invoke' command_manager.rb:86:inprocess_args’
command_manager.rb:74:in run' gem_runner.rb:25:inrun’
:0

Ok back to rails :slight_smile: igem install --debug --local --verbose
rails-2.2.2.gem

so far so good rails seems to install. at least it’s generating docs for
everything

next trying to run the irails -v command that fails initially because it
can’t find a file gems/-2.2.2/lib/ruby_version_check
So I proceeed with copying the contents of rails-2.2.2 to -2.2.2 hoping
that
that will fix my issue.

success
» irails -v
Rails 2.2.2

ok now for it to generate a rails application that fails again.

» irails ironruby-test
tried to create Proc object without a block

Cheers
Ivan