[Rails] Installation trouble

Discussion in 'Ruby' started by Ghislain MARY, Jan 21, 2005.

  1. Hi all,

    I am new to ruby and trying to install rails but I encounter some
    difficulties. I get an error while installing actionmailer. Here is what I
    get:


    $ gem install actionmailer
    Attempting local installation of 'actionmailer'
    Local gem file not found: actionmailer*.gem
    Attempting remote installation of 'actionmailer'
    /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:26:in `require': No
    such file to load -- action_controller (LoadError)
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:163:in `activate'
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:34:in `require_gem'
    from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:450:in
    `find_dependencies_not_installed'
    from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:448:in
    `each'
    from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:448:in
    `find_dependencies_not_installed'
    from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:364:in
    `install'
    from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:164:in
    `execute'
    from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:129:in
    `each'
    from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:129:in
    `execute'
    from /usr/local/lib/site_ruby/1.8/rubygems/command.rb:49:in `invoke'
    from /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:90:in
    `process_args'
    from /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:63:in `run'
    from /usr/local/lib/site_ruby/1.8/rubygems/gem_runner.rb:9:in `run'
    from /usr/bin/gem:11


    knowing that:


    $ gem query --local

    *** LOCAL GEMS ***

    actionpack (1.3.1)
    Web-flow and rendering framework putting the VC in MVC.

    activerecord (1.5.1)
    Implements the ActiveRecord pattern for ORM.

    rake (0.4.15)
    Ruby based make-like utility.

    sources (0.0.1)
    This package provides download sources for remote gem installation


    Can somebody help me with this?

    Thanks,

    Ghislain
    Ghislain MARY, Jan 21, 2005
    #1
    1. Advertising

  2. Ghislain MARY wrote:

    >$ gem install actionmailer
    >Attempting local installation of 'actionmailer'
    >Local gem file not found: actionmailer*.gem
    >Attempting remote installation of 'actionmailer'
    >/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:26:in `require': No
    >such file to load -- action_controller (LoadError)
    >
    >


    The 'action_controller' section suggests that it may have something to
    do with the install of one of the Rails dependencies. Instead of doing
    the components separately, try executing 'gem install rails' and answer
    'y'es to the dependencies.
    Trevor Wennblom, Jan 21, 2005
    #2
    1. Advertising

  3. Le Vendredi 21 Janvier 2005 21:24, Trevor Wennblom a écrit :
    > Ghislain MARY wrote:
    > >$ gem install actionmailer
    > >Attempting local installation of 'actionmailer'
    > >Local gem file not found: actionmailer*.gem
    > >Attempting remote installation of 'actionmailer'
    > >/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:26:in `require':
    > > No such file to load -- action_controller (LoadError)

    >
    > The 'action_controller' section suggests that it may have something to
    > do with the install of one of the Rails dependencies. Instead of doing
    > the components separately, try executing 'gem install rails' and answer
    > 'y'es to the dependencies.


    In fact, I was trying to install each dependency manually because I was
    getting this when installing rails:


    $ gem install rails
    Attempting local installation of 'rails'
    Local gem file not found: rails*.gem
    Attempting remote installation of 'rails'
    ERROR: While executing gem ... (NameError)
    undefined method `perform_action' for class `ActionController::Base'
    Ghislain MARY, Jan 21, 2005
    #3
  4. Ghislain MARY

    Dick Davies Guest

    * Ghislain MARY <> [0112 20:12]:
    > Hi all,
    >
    > I am new to ruby and trying to install rails but I encounter some
    > difficulties. I get an error while installing actionmailer. Here is what I
    > get:


    What version of rubygems and ruby ? I had some wierd errors with cvs ruby
    around rubygems 0.8.2 or so, but can't find them now - it looked vaguely
    similar..

    > $ gem install actionmailer
    > Attempting local installation of 'actionmailer'
    > Local gem file not found: actionmailer*.gem
    > Attempting remote installation of 'actionmailer'
    > /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:26:in `require': No
    > such file to load -- action_controller (LoadError)
    > from /usr/local/lib/site_ruby/1.8/rubygems.rb:163:in `activate'
    > from /usr/local/lib/site_ruby/1.8/rubygems.rb:34:in `require_gem'
    > from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:450:in
    > `find_dependencies_not_installed'
    > from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:448:in
    > `each'
    > from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:448:in
    > `find_dependencies_not_installed'
    > from /usr/local/lib/site_ruby/1.8/rubygems/remote_installer.rb:364:in
    > `install'
    > from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:164:in
    > `execute'
    > from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:129:in
    > `each'
    > from /usr/local/lib/site_ruby/1.8/rubygems/gem_commands.rb:129:in
    > `execute'
    > from /usr/local/lib/site_ruby/1.8/rubygems/command.rb:49:in `invoke'
    > from /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:90:in
    > `process_args'
    > from /usr/local/lib/site_ruby/1.8/rubygems/cmd_manager.rb:63:in `run'
    > from /usr/local/lib/site_ruby/1.8/rubygems/gem_runner.rb:9:in `run'
    > from /usr/bin/gem:11


    --
    'The pie is ready. You guys like swarms of things, right?'
    -- Bender
    Rasputin :: Jack of All Trades - Master of Nuns
    Dick Davies, Jan 21, 2005
    #4
  5. Ghislain MARY wrote:

    >In fact, I was trying to install each dependency manually because I was
    >getting this when installing rails:
    >
    >
    >$ gem install rails
    >Attempting local installation of 'rails'
    >Local gem file not found: rails*.gem
    >Attempting remote installation of 'rails'
    >ERROR: While executing gem ... (NameError)
    > undefined method `perform_action' for class `ActionController::Base'
    >
    >
    >


    That's very strange. Does running 'gem -v' report '0.8.4'? If not, you
    could try updating your gem install. Otherwise, I'd post on the Rails
    mailing list.

    See: http://wiki.rubyonrails.com/rails/show/MailingLists
    Trevor Wennblom, Jan 21, 2005
    #5
  6. I've found what the problem was.

    In fact, this was coming from the way ruby is packaged in Debian. I've already
    seen about this on this mailing list and during my search for a solution on
    the web, but never found exactly the same problem as I had.

    However, I still don't know exactly what was missing. I managed to put Ruby on
    Rails by doing a "manual" installation of ruby. I'll try to find what was the
    missing Debian package and I'll tell you all here to help people who might
    encounter the same problem later.

    But the real solution to the problem would be for the ruby package in Debian
    to contain all that is contained in the ruby source distribution...

    See you all later

    Ghislain
    Ghislain MARY, Jan 25, 2005
    #6
  7. The missing package was libdrb-ruby.

    Can't understand why these packages are not installed when installing ruby...
    Ghislain MARY, Jan 25, 2005
    #7
  8. Hi,

    > The missing package was libdrb-ruby.
    >
    > Can't understand why these packages are not installed when
    > installing ruby...


    You might want to mention this on debian-ruby. A similar matter was raised
    recently with regard to ruby-stdlib.

    Adelle.
    Adelle Hartley, Jan 25, 2005
    #8
  9. Ghislain MARY <> writes:
    > The missing package was libdrb-ruby.
    >
    > Can't understand why these packages are not installed when installing ruby...


    Debian, and most distros derived from it, try to factor out
    dependencies as much as humanly possible. It's not a matter of being
    arrogant and thinking, "We know better than you how to distribute
    ruby", it's a matter of allowing someone who doesn't care about ruby
    to install the very minimum required to run a program that itself
    requires ruby.

    Even with the advent of broadband, this is still very important, as a
    number (probably a majority) of users are still in countries where the
    default is metered connections, and every extra byte costs them money.
    Also, such fine (and orthogonal) dependencies allow people to create
    custom LiveCDs and/or distributions that contain only what they need
    (yes, a number of people use Debian as a base for embedded Linux
    programming for that very reason).

    However, feel free to ask the ruby maintainer to change his packaging;
    he may agree with you.

    -=Eric
    --
    Come to think of it, there are already a million monkeys on a million
    typewriters, and Usenet is NOTHING like Shakespeare.
    -- Blair Houghton.
    Eric Schwartz, Jan 25, 2005
    #9
  10. Ghislain MARY <> writes:
    > The missing package was libdrb-ruby.


    A full list of required ruby packages for manually installing
    rubygems:

    ruby
    libruby
    libdrb-ruby
    libyaml-ruby
    libzlib-ruby

    I'm not positive about libruby, actually.

    Even if these should be included by default, about which point I am
    entirely agnostic, it seems to me that it's a bug in rubygems for not
    correctly reporting the error, so that the user can know which
    packages to install. Having to guess is very frustrating

    -=Eric
    --
    Come to think of it, there are already a million monkeys on a million
    typewriters, and Usenet is NOTHING like Shakespeare.
    -- Blair Houghton.
    Eric Schwartz, Jan 25, 2005
    #10
  11. Eric Schwartz <> writes:
    > Ghislain MARY <> writes:
    >> The missing package was libdrb-ruby.

    >
    > A full list of required ruby packages for manually installing
    > rubygems:
    >
    > ruby
    > libruby
    > libdrb-ruby
    > libyaml-ruby
    > libzlib-ruby


    Also, when installing rails, I got a NameError that ActionView::Base
    was not found, which is another bug-- the actual missing library was
    erb, which I figured out after running gem with --debug. I don't know
    gems that well-- is it really that hard to figure out the library
    that's actually missing? Maybe it is, I don't know, but things like
    this make it hard to recommend ruby to people who don't know why they
    should care. :(

    -=Eric
    --
    Come to think of it, there are already a million monkeys on a million
    typewriters, and Usenet is NOTHING like Shakespeare.
    -- Blair Houghton.
    Eric Schwartz, Jan 25, 2005
    #11
  12. On Wed, 26 Jan 2005 03:15:50 +0900, Eric Schwartz
    <> wrote:
    > Ghislain MARY < > writes:
    >> The missing package was libdrb-ruby.
    >>
    >> Can't understand why these packages are not installed when
    >> installing ruby...

    > Debian, and most distros derived from it, try to factor out
    > dependencies as much as humanly possible. It's not a matter of
    > being arrogant and thinking, "We know better than you how to
    > distribute ruby", it's a matter of allowing someone who doesn't
    > care about ruby to install the very minimum required to run a
    > program that itself requires ruby.


    That's a fine sentiment, but there are plenty of demonstrable cases
    where it's just *wrong*, Eric. Ruby has a standard library for a
    reason: so that developers can expect that if Ruby is installed,
    anything in that library will be there already. This isn't
    guaranteed to stay static, and it will probably change over release
    versions (e.g., the deprecation and removing of some libraries
    between 1.6 and 1.8).

    So yes, it *does* become a matter of "we know better how to
    distribute Ruby than you (the language designer and maintainer) do."
    If packaging policies cause programs to fail that should simply
    work, then the packaging policy is quite simply put broken. There
    are definitely auxiliary parts of Ruby (e.g., the ri documentation
    *data*, but *not* the ri program and libraries), but the sheer
    number of libraries that Ruby is broken into on Debian and Debian-
    based distributions is stupid, and that's the absolute *nicest*
    thing that I can say about it.

    The broken application doesn't make Debian look bad, it makes the
    application developer and the language look bad. I'm sorry, but the
    developer didn't actually make a mistake. Either the user did for
    choosing Debian or a Debian-based distro (because of stupid
    packaging policies) or the Debian repackagers did. Personally, I'm
    leaning toward blaming the repackagers rather than the users or
    developers in this case.

    -austin
    --
    Austin Ziegler *
    * Alternate:
    Austin Ziegler, Jan 25, 2005
    #12
  13. On Wed, 26 Jan 2005 03:25:50 +0900, Eric Schwartz
    <> wrote:
    > Ghislain MARY < > writes:
    >> The missing package was libdrb-ruby.

    >
    > A full list of required ruby packages for manually installing
    > rubygems:
    >
    > ruby
    > libruby
    > libdrb-ruby
    > libyaml-ruby
    > libzlib-ruby
    >
    > I'm not positive about libruby, actually.
    >
    > Even if these should be included by default, about which point I
    > am entirely agnostic, it seems to me that it's a bug in rubygems
    > for not correctly reporting the error, so that the user can know
    > which packages to install. Having to guess is very frustrating


    Wrong. This is not -- and never will be -- a RubyGems bug. This is
    -- and always will be -- a Debian bug. DRB, YAML, and Zlib are part
    of the Ruby platform. If they're not there because of packaging
    policies, then it isn't an application bug.

    Additionally, RubyGems cannot and should not try to determine which
    OS-specific packages may be missing -- it should be dependent upon
    the Ruby platform, which includes a number of features that the ever
    so wise Debian repackagers have decided aren't part of Ruby, even
    though the language designer has decreed that they *are* part of
    Ruby.

    -austin
    --
    Austin Ziegler *
    * Alternate:
    Austin Ziegler, Jan 25, 2005
    #13
  14. Austin Ziegler <> writes:
    > Wrong. This is not -- and never will be -- a RubyGems bug. This is
    > -- and always will be -- a Debian bug. DRB, YAML, and Zlib are part
    > of the Ruby platform. If they're not there because of packaging
    > policies, then it isn't an application bug.


    It doesn't matter. If the application needs a library, and cannot
    find it, the application should report that library missing. The
    application should NOT report some random library that has nothing to
    do with the actual missing library as missing.

    If you want to declare all of what comes in ruby-1.8.tar.gz as
    "standard", that's fine. If you want to claim it's a bug that it's
    not all there on a default Debian install, that's fine too-- file a
    bug. But it is never correct for any application to report a bug in
    class A, when in fact it's in class B. This is basic human factors--
    an error message should tell the user:

    *) What's wrong.
    *) What the user did to cause this (if applicable)
    *) What the user can do to fix it.

    RubyGems, in this particular instance, fails all three criteria.

    Should Debian install everything in ruby-1.8.2.tar.gz? Maybe.
    Probably, even. But it is never correct in any context to report
    errors incorrectly. At worst, a message to the effect of,

    error loading rubygems/builder.rb: required dependencies are missing (check your installation of ruby?)

    would be appropriate. After all, it's quite possible the user simply
    had an error when installing ruby by hand, and somehow the relvant
    files didn't get copied, or were copied, and read permissions were not
    set (which can easily happen when isntalling as root with an overly
    restrictive umask).

    -=Eric
    --
    Come to think of it, there are already a million monkeys on a million
    typewriters, and Usenet is NOTHING like Shakespeare.
    -- Blair Houghton.
    Eric Schwartz, Jan 25, 2005
    #14
  15. Eric Schwartz <> writes:
    > After all, it's quite possible the user simply
    > had an error when installing ruby by hand, and somehow the relvant
    > files didn't get copied, or were copied, and read permissions were not
    > set (which can easily happen when isntalling as root with an overly
    > restrictive umask).


    Okay, I peeked at the ruby install process, and this isn't likely to
    happen. But the point remains that a failed or partial install could
    be responsible for similar experiences.

    -=Eric
    --
    Come to think of it, there are already a million monkeys on a million
    typewriters, and Usenet is NOTHING like Shakespeare.
    -- Blair Houghton.
    Eric Schwartz, Jan 25, 2005
    #15

  16. > It doesn't matter. If the application needs a library, and cannot
    > find it, the application should report that library missing. The
    > application should NOT report some random library that has nothing to
    > do with the actual missing library as missing.


    I totally agree on this point. The error message I was getting had nothing to
    do with the real problem. So even if my installation was not well done (due
    to any factor we can imagine) this should not happen. I would have gotten a
    message telling me that the:
    require drb
    was not successful. So I consider this as a bug in rubygems.

    > If you want to declare all of what comes in ruby-1.8.tar.gz as
    > "standard", that's fine. If you want to claim it's a bug that it's
    > not all there on a default Debian install, that's fine too-- file a
    > bug. But it is never correct for any application to report a bug in
    > class A, when in fact it's in class B. This is basic human factors--
    > an error message should tell the user:


    I also think that debian should install all the content of the ruby source
    distribution in its package. Or do a meta-package ruby-1.8 installing all the
    packages corresponding to the content of the source distribution having the
    actual ruby-1.8 transformed in ruby-base-1.8. This would still allow people
    wanting just the core part of ruby to have only what they want. Just an
    idea...

    Ghislain
    Ghislain MARY, Jan 25, 2005
    #16
  17. Ghislain MARY <> writes:
    > I also think that debian should install all the content of the ruby source
    > distribution in its package.


    There is a bug open now, #286400, which requests the creation of such
    a package, in a way that it would be installed by default in most
    cases, and in the others, would be flagged as highly recommended. I
    believe the best course of action at this point would be to add more
    information to this bug report, perhaps even raising the severity if
    you feel it's warranted.

    -=Eric
    --
    Come to think of it, there are already a million monkeys on a million
    typewriters, and Usenet is NOTHING like Shakespeare.
    -- Blair Houghton.
    Eric Schwartz, Jan 25, 2005
    #17
  18. On Wed, 26 Jan 2005 06:36:00 +0900, Eric Schwartz
    <> wrote:
    > Austin Ziegler < > writes:
    >> Wrong. This is not -- and never will be -- a RubyGems bug. This
    >> is -- and always will be -- a Debian bug. DRB, YAML, and Zlib are
    >> part of the Ruby platform. If they're not there because of
    >> packaging policies, then it isn't an application bug.

    > It doesn't matter. If the application needs a library, and cannot
    > find it, the application should report that library missing. The
    > application should NOT report some random library that has nothing
    > to do with the actual missing library as missing.


    Mmmm. I haven't looked at this specific portion of the RubyGems
    code, but I have a suspicion that if it's ultimately because libdrb
    is missing, then it's trying to get an object remotely. There is
    little (if anything) that RubyGems can do in the case of a Ruby that
    isn't completely there when it should be.

    Not only that, I'm a bit baffled that the problem was solved by the
    installation of libdrb-ruby -- because there's nothing in RubyGems'
    source code that requires 'drb' or 'action_controller'.

    Maybe RubyGems could do something like:

    "It looks like you've installed this on a variant of Debian Linux.
    Change distributions because the people who package Ruby don't
    know what they're doing."

    No other operating system has nearly the level of problems that
    Debian does -- not even the Windows distro, now that OpenSSL and
    other items are present that weren't present. There's a few items
    missing that would be nice (ncurses/pdcurses) but aren't super
    necessary. Debian, on the other hand, has taken a deliberate
    approach that *cripples* Ruby; not only that, neither Python nor
    Perl are crippled the way that Ruby is.

    > If you want to declare all of what comes in ruby-1.8.tar.gz as
    > "standard", that's fine. If you want to claim it's a bug that it's
    > not all there on a default Debian install, that's fine too-- file
    > a bug. But it is never correct for any application to report a bug
    > in class A, when in fact it's in class B. This is basic human
    > factors-- an error message should tell the user:


    I'm not going to disagree that RubyGems can't improve its error
    messages; it can. But the reality is that this is not something that
    RubyGems should ever be able to detect and prevent -- especially
    since the error is coming *during the run process* and not during
    the startup (e.g., not during a 'require' stage).

    -austin
    --
    Austin Ziegler *
    * Alternate:
    Austin Ziegler, Jan 26, 2005
    #18
  19. > Mmmm. I haven't looked at this specific portion of the RubyGems
    > code, but I have a suspicion that if it's ultimately because libdrb
    > is missing, then it's trying to get an object remotely. There is
    > little (if anything) that RubyGems can do in the case of a Ruby that
    > isn't completely there when it should be.
    >
    > Not only that, I'm a bit baffled that the problem was solved by the
    > installation of libdrb-ruby -- because there's nothing in RubyGems'
    > source code that requires 'drb' or 'action_controller'.


    You're right. It's the Action Pack that requires drb, not rubygems.

    Ghislain
    Ghislain MARY, Jan 26, 2005
    #19
  20. On Jan 25, 2005, at 11:45 PM, Eric Schwartz wrote:
    > Ghislain MARY <> writes:
    >> I also think that debian should install all the content of the ruby
    >> source
    >> distribution in its package.

    >
    > There is a bug open now, #286400, which requests the creation of such
    > a package, in a way that it would be installed by default in most
    > cases, and in the others, would be flagged as highly recommended. I
    > believe the best course of action at this point would be to add more
    > information to this bug report, perhaps even raising the severity if
    > you feel it's warranted.


    i wish i could. its far from wishlist imo.
    if anyone that knows how to use the bugs
    page on debian.org could chance it to severe
    and explain how i can vote up this bug then
    i'd be most grateful :)

    debian developers should just fix this before
    the rubygems developers among others are forced
    to place debian specific workarounds in their
    applications.

    soon you'll tell me that i'm forced to write:
    require 'stringclass' || die "sorry you didn't install the string
    class"
    in all the code that i distribute.

    no chance.
    sorry but the current situation is really a bit of a joke.
    Alex
    Alexander Kellett, Jan 26, 2005
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jan Meskens
    Replies:
    15
    Views:
    186
    Andrew Stone
    Aug 16, 2005
  2. Nirav
    Replies:
    1
    Views:
    77
    Jim Weirich
    Feb 1, 2006
  3. manohar amrutkar

    rails installation problem

    manohar amrutkar, Feb 6, 2007, in forum: Ruby
    Replies:
    0
    Views:
    76
    manohar amrutkar
    Feb 6, 2007
  4. YAG
    Replies:
    2
    Views:
    162
    Ron Fox
    Apr 4, 2008
  5. Lostin Ruby

    installation trouble??

    Lostin Ruby, Apr 24, 2009, in forum: Ruby
    Replies:
    0
    Views:
    151
    Lostin Ruby
    Apr 24, 2009
Loading...

Share This Page