no such file to load -- ferret

Hi there,

I'm just trying to deploy my app to my vhost, and i'm getting an error
on the phusion passenger page:

no such file to load -- ferret

now everything worked fine in development.

DO i need to reinstall the plugin and gem again? if so - would these
be in domain.com/public? or should it be installed at domain.com?

ANy advice would be great!

THank you.

Hello all,

just to elaborate on this:

It's complaining about ''/usr/lib/ruby/1.8/rubygems/
custom_require.rb''

Which, after some digging I found:

def require(path) # :nodoc:
    gem_original_require path
  rescue LoadError => load_error
    if load_error.message =~ /\A[Nn]o such file to load -- #
{Regexp.escape path}\z/ and
       spec = Gem.searcher.find(path) then
      Gem.activate(spec.name, false, "= #{spec.version}")
      gem_original_require path
    else
      raise load_error
    end
  end

THe error suggests line 31 which is: Gem.activate(spec.name, false,
"= #{spec.version}")

However this is my 1st deployment so not 100% sure what's happening
here..

Any ideas?

Thanks

You are missing the ferret gem. Install it if that is possible with your hosting. Otherwise you could try install ferret as plugin (in vendor/plugins) or just freeze your rails app, I think the command goes something like this: rake rails:freeze:gems then upload all that to your hosting place and try again :slight_smile: Merry Christmass :wink:

When you see that line: no such file to load – XXX it generally means a gem is missing. The first thing you might try is do: gem install XXX. Sometimes you see no such file to load – XXX/YYY, then you could try gem install XXX-YYY or gem install XXX_YYY. Of course you have to do it in the environment which is complaining. In this case your production hosting provider.

I'll take another loook... thanks.

the host does allow me to upload this stuff. looking at my list of
gems, I already have acts_as_ferret...

*** LOCAL GEMS ***

actionmailer (2.3.3)
actionpack (2.3.3)
activerecord (2.3.3)
activeresource (2.3.3)
activesupport (2.3.3)
acts_as_ferret (0.4.4)
columnize (0.3.1)
fastthread (1.0.7)
ferret (0.11.6)
linecache (0.43)
mysql (2.8.1, 2.7)
rack (1.0.0)
rails (2.3.3)
rake (0.8.7)
ruby-debug (0.10.3)
ruby-debug-base (0.10.3)
ruby-recaptcha (1.0.0)
rubygems-update (1.3.5)
sqlite3-ruby (1.2.5)
will_paginate (2.3.11)

I believe they are different things with similar looking names.

Ah yes.... :slight_smile: correct.

I accessed my public area on the host server and ran:

sudo gem install ferret

THis returned with the following:

Building native extensions. This could take a while...
ERROR: Error installing ferret:
  ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:11:in `require': no such file to load -- mkmf (LoadError)
  from extconf.rb:11

What exactly does this mean and how do I fix it? I do apologise, I've
spent all day looking for this, and I'm not sure where to go..

Merry Christmas :slight_smile:

Now you have encountered dependencies :slight_smile: Just do the same thing (gem install XXX) for mkmf this time :slight_smile: Or try sudo gem install ferret --include-dependencies

thanks for the reply,

so - sudo gem install ferret --include-dependencies didn't work...

what do you mean by: gem install XXX for mkmf

i did try gem install mkmf, but this isn't a gem....
ERROR: could not find gem mkmf locally or in a repository

Sorry about this....

Take a look at this: http://blogs.law.harvard.edu/hoanga/2006/10/27/fixing-mkmf-load-error-ruby-in-ubuntu/
No problem, keep asking questions, I’ll do my best to help, but its getting a little late here so don’t hold your breath if I am not responding fast enough :wink:

That's an excellent site, and that seems to have moved me onto the
next error (!) :slight_smile:

no such file to load -- mysql (MissingSourceFile)

ERROR: Error installing mysql:
  ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

This may be real easy to some, but on my first deployment, this is a
bit over my head.... :slight_smile:

Nice to hear that :slight_smile: What I use when I get an error is just copy/paste into google and read through a few top-most links. In this case I would just make a search query for “no such file to load – mysql (MissingSourceFile)” :slight_smile:

Hmmm..

I may have to keep looking, just tried: /usr/bin/ruby1.8 extconf.rb --
with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib
--with-mysql-include=/usr/local/mysql/include

and it returns with:

ERROR: Error installing mysql:
  ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb --with-mysql-dir=/usr/local/mysql --with-
mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/
include
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Is this a problem with the host, of am I doing something wrong?

Thanks again,