Bugs item #28154, was opened at 2010-04-29 11:35 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=575&aid=28154&group_id=126
Category: other Group: v1.3.x Status: Open Resolution: None Priority: 3 Submitted By: Randall Lucas (rlucas) Assigned to: Nobody (None) Summary: Gem.binary_mode version test for Ruby 1.9 sets invalid rb:ascii-8bit mode Initial Comment: In rubygems.rb, line 344, self.binary_mode makes a check for RUBY_VERSION and sets @binary_mode accordingly. However, it assumes wrongly that the mode "rb:ascii-8bit" is available for all RUBY_VERSION > '1.9'. In fact, that mode does NOT work in Ruby 1.9.0, and was added in 1.9.1. (See support below from Ruby core SVN.) This manifests as a cryptic error: ERROR: While executing gem ... (ArgumentError) illegal access mode rb:ascii-8bit (full debugging error output below). Suggested fix: alter self.binary_mode to check for RUBY_VERSION > '1.9.0' thus: binary_mode ||= RUBY_VERSION > '1.9.0' ? 'rb:ascii-8bit' : 'rb' --- Support from Ruby core SVN for the mode name-change that breaks between 1.9.0 and 1.9.1: >From >http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/tags/v1_9_0_5/enc/ascii.c?view=log Revision 13670 - (view) (download) (annotate) - [select for diffs] Modified Wed Oct 10 06:50:33 2007 UTC (2 years, 6 months ago) by akr Original Path: trunk/ascii.c File length: 2408 byte(s) Diff to previous 12376 (colored) * encoding.c (rb_enc_init): don't alias iso-8859-1 to ascii. * ascii.c (OnigEncodingASCII): change the name US-ASCII to ASCII-8BIT. --- version info: $ uname -a Linux arrakis 2.6.18-6-amd64 #1 SMP Sat Feb 20 23:34:55 UTC 2010 x86_64 GNU/Linux $ ruby -v ruby 1.9.0 (2006-06-08) [x86_64-linux] $ sudo gem --debug install rake Exception `NameError' at /usr/local/lib/site_ruby/1.9/rubygems/command_manager.rb:163 - uninitialized constant Gem::Commands::InstallCommand Exception `Gem::LoadError' at /usr/local/lib/site_ruby/1.9/rubygems.rb:778 - Could not find RubyGem test-unit (>= 0) Exception `Gem::LoadError' at /usr/local/lib/site_ruby/1.9/rubygems.rb:778 - Could not find RubyGem sources (> 0.0.1) Exception `ArgumentError' at /usr/local/lib/site_ruby/1.9/rubygems/format.rb:50 - illegal access mode rb:ascii-8bit ERROR: While executing gem ... (ArgumentError) illegal access mode rb:ascii-8bit /usr/local/lib/site_ruby/1.9/rubygems/format.rb:50:in `initialize' /usr/local/lib/site_ruby/1.9/rubygems/format.rb:50:in `Gem::Format#from_file_by_path' /usr/local/lib/site_ruby/1.9/rubygems/installer.rb:118:in `initialize' /usr/local/lib/site_ruby/1.9/rubygems/dependency_installer.rb:257:in `Gem::DependencyInstaller#install' /usr/local/lib/site_ruby/1.9/rubygems/dependency_installer.rb:240:in `Gem::DependencyInstaller#install' /usr/local/lib/site_ruby/1.9/rubygems/commands/install_command.rb:119:in `execute' /usr/local/lib/site_ruby/1.9/rubygems/commands/install_command.rb:116:in `execute' /usr/local/lib/site_ruby/1.9/rubygems/command.rb:258:in `Gem::Command#invoke' /usr/local/lib/site_ruby/1.9/rubygems/command_manager.rb:134:in `process_args' /usr/local/lib/site_ruby/1.9/rubygems/command_manager.rb:104:in `Gem::CommandManager#run' /usr/local/lib/site_ruby/1.9/rubygems/gem_runner.rb:58:in `Gem::GemRunner#run' /usr/bin/gem:21 $ gem env RubyGems Environment: - RUBYGEMS VERSION: 1.3.6 - RUBY VERSION: 1.9.0 (2006-06-08) [x86_64-linux] - INSTALLATION DIRECTORY: /usr/lib/ruby1.9/gems/1.9 - RUBY EXECUTABLE: /usr/bin/ruby1.9 - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /usr/lib/ruby1.9/gems/1.9 - /home/rlucas/.gem/ruby/1.9 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/ ---------------------------------------------------------------------- >Comment By: Eric Hodel (drbrain) Date: 2010-04-30 22:04 Message: As far as I know 1.9.0 was never supposed to be a stable release used in production. There are no 1.9.0 releases in ftp.ruby-lang.org/pub/ruby and no patchlevels were released for it in /pub/ruby/1.9.0 (only snapshots). Is there some reason you can't use 1.9.1? ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=575&aid=28154&group_id=126 _______________________________________________ Rubygems-developers mailing list http://rubyforge.org/projects/rubygems Rubygems-developers@rubyforge.org http://rubyforge.org/mailman/listinfo/rubygems-developers