[Rubygems-developers] Issues, some Windows related:

Austin Ziegler halostatue at gmail.com
Sat Oct 23 09:43:26 EDT 2004


1. Curses. Can we look at adding an ability to check for specific
   prerequisites that are NOT gems? There are multiple packages that
   require 'curses' (diakonos is just one), which is not currently
   included in the Win32 distro. Thus, when I install 'diakonos', I
   get:

      C:\home\Projects\[releases]\diff-lcs> gem install diakonos
      Attempting local installation of 'diakonos'
      Local gem file not found: diakonos*.gem
      Attempting remote installation of 'diakonos'
      Successfully installed diakonos, version 0.7.0
      Installing RDoc documentation for diakonos-0.7.0...
      WARNING: Generating RDoc on .gem that may not have RDoc.
      File not found:

   [Note: I don't know what file it couldn't find.]

      C:\home\Projects\[releases]\diff-lcs> diakonos
      c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in
      `require__': No such file to load -- curses (LoadError)
              from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_man
              ager.rb:5:in `require'
              from c:/Apps/Ruby/lib/ruby/gems/1.8/gems/diakonos-0.7.0/diakon
              os:24
              from c:/Apps/Ruby/bin/diakonos:19:in `load'
              from c:/Apps/Ruby/bin/diakonos:19

2. Spelling. Uninstalling 'diakonos' gives me this message:

      Attempting to uninstall gem 'diakonos'
      Remove executables and scripts for
      'diakonos' in addtion to the gem? [Yn]

    That should be 'addition'.

3. Compiles. I do have a compile environment on my system, and am
   running through the command window that uses it. [Note for Win32
   GUI writers: figure out a way to let us inherit that information
   or set it. Otherwise, you'll be more useless than a three dollar
   bill for those of us that could compile extensions.] I tried to
   install 'complearn' today and got:

      C:\home\Projects\[releases]\diff-lcs>gem install complearn
      Attempting local installation of 'complearn'
      Local gem file not found: complearn*.gem
      Attempting remote installation of 'complearn'
      Building native extensions.  This could take a while...

      Microsoft (R) Program Maintenance Utility Version 7.10.3077
      Copyright (C) Microsoft Corporation.  All rights reserved.

      NMAKE : fatal error U1077: 'cl' : return code '0x2'
      Stop.

      Microsoft (R) Program Maintenance Utility Version 7.10.3077
      Copyright (C) Microsoft Corporation.  All rights reserved.

      NMAKE : fatal error U1077: 'cl' : return code '0x2'
      Stop.
      ruby extconf.rb install complearn
      creating Makefile

      nmake
              cl -nologo -MD -Zi -O2b2xg- -G6 -I. -Ic:/Apps/Ruby/lib/ruby/
      1.8/i386-mswin32 -Ic:/Apps/Ruby/lib/ruby/1.8/i386-mswin32 -I.  -I. -
      I./.. -I./../missing -c -TcQuartet.c
      Quartet.c
      Quartet.c(5) : fatal error C1083: Cannot open include file: 'unistd.
      h': No such file or directory

      nmake install
              cl -nologo -MD -Zi -O2b2xg- -G6 -I. -Ic:/Apps/Ruby/lib/ruby/
      1.8/i386-mswin32 -Ic:/Apps/Ruby/lib/ruby/1.8/i386-mswin32 -I.  -I. -
      I./.. -I./../missing -c -TcQuartet.c
      Quartet.c
      Quartet.c(5) : fatal error C1083: Cannot open include file: 'unistd.
      h': No such file or directory
      Successfully installed complearn, version 0.6.2
      Installing RDoc documentation for complearn-0.6.2...

   This was obviously NOT successful, so why did gems continue?

4. Exception messages. Installing 'builder' but I typed:

      C:\home\Projects\[releases]\diff-lcs>gem install builders
      Attempting local installation of 'builders'
      Local gem file not found: builders*.gem
      Attempting remote installation of 'builders'
      c:/Apps/Ruby/lib/ruby/1.8/uri/mailto.rb:239: Interrupt  from c:/Apps
      /Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_manager.rb:5:in `requ
      ire__'
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_ma
      nager.rb:5:in `require'
             from c:/Apps/Ruby/lib/ruby/1.8/uri.rb:28
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_ma
      nager.rb:5:in `require__'
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_ma
      nager.rb:5:in `require'
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/open-uri.rb
      i:57
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_ma
      nager.rb:5:in `require__'
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/loadpath_ma
      nager.rb:5:in `require'
             ... 8 levels...
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/cmd_manager
      .rb:90:in `process_args'
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/cmd_manager
      .rb:63:in `run'
             from c:/Apps/Ruby/lib/ruby/site_ruby/1.8/rubygems/gem_runner.
      rb:9:in `run'
             from C:/Apps/Ruby/bin/gem:11
      Terminate batch job (Y/N)? y

   I hit Ctrl-C to stop, and I got this monstrous message. I haven't
   done a lot of this myself in my command-line utilities, but we
   should really TRAP certain exceptions or signals and handle them
   cleaner. The default Ruby mechanism is nice for developers, but
   is completely inappropriate for end-users, rather like the
   default Java mechanism was years ago.

-austin
-- 
Austin Ziegler * halostatue at gmail.com
               * Alternate: austin at halostatue.ca
: as of this email, I have [ 5 ] Gmail invitations


More information about the Rubygems-developers mailing list