Ferret install, rake failing on make

I’m currently trying to install the latest version of Ferret (0.10.9)
on my Ubuntu Dapper (6.06) system. I have tried the gem, but it does
not generate the ferret_ext.so file. Ideally I would prefer to install
from the gem, but if source works, I’m fine with that too.

I am now trying an install from source, but when I run the command ‘$
rake ext’ I get the following error when it reaches the ‘make’ command:

make
rake aborted!
Command failed with status (127): [make]
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:722:in sh' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:729:insh’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:812:in sh' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:807:insh’
/home/dougal/ferret-0.10.9/Rakefile:137
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:in execute' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:387:inexecute’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:357:in invoke' /usr/lib/ruby/1.8/thread.rb:135:insynchronize’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in invoke' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:364:ininvoke_prerequisites’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:999:in each' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:363:ininvoke_prerequisites’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:356:in invoke' /usr/lib/ruby/1.8/thread.rb:135:insynchronize’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:350:in invoke' /usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:inrun’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/lib/rake.rb:1906:in `run’
/usr/lib/ruby/gems/1.8/gems/rake-0.7.1/bin/rake:7
/usr/bin/rake:18

This is slightly lost on me as I am a Ruby newbie, hopefully someone
will be able to tell me what is going on.

Thanks.

Dougal. (I posted this on comp.lang.ruby, and was referred here by Chris
Lowis, thanks Chris).

On Tue, Oct 03, 2006 at 06:43:25PM +0200, Douglas S. wrote:

I’m currently trying to install the latest version of Ferret (0.10.9)
on my Ubuntu Dapper (6.06) system. I have tried the gem, but it does
not generate the ferret_ext.so file. Ideally I would prefer to install
from the gem, but if source works, I’m fine with that too.

I am now trying an install from source, but when I run the command ‘$
rake ext’ I get the following error when it reaches the ‘make’ command:

short guess: do you have the ruby1.8-dev package installed ?

Jens


webit! Gesellschaft für neue Medien mbH www.webit.de
Dipl.-Wirtschaftsingenieur Jens Krämer [email protected]
Schnorrstraße 76 Tel +49 351 46766 0
D-01069 Dresden Fax +49 351 46766 66

Jens K. wrote:

short guess: do you have the ruby1.8-dev package installed ?

Yes, ruby1.8-dev package is installed. I’m currently setting up an
identical machine in Parallels to see if I can replicate my problem.

Douglas S. wrote:

Yes, ruby1.8-dev package is installed. I’m currently setting up an
identical machine in Parallels to see if I can replicate my problem.

Ok, I got the same result with my virtual machine in parallels. Anyone
have a solution, or even a copy of ferret_ext from an i386 Ubuntu Dapper
install?

Thanks.

Hi Dougal,

Have you tried cd’ing into the ext directory and calling ruby extconf.rb and make directly? That may solve your problems or at
least give you a better idea of what is causing the error.

If this doesn’t work I can send you a ferret_ext.so but there will be
a new version coming out very soon so I’ll wait until then.

Cheers,
Dave

Hello.

We are indexing a large amount of data (about 850,000 records). During
the
indexing, every 100,000 items I flush and optimize the index, so the
disk
space doesn’t get too large during indexing.

About 700,000 items in, I got this error:
Error occured in fs_store.c:226 - fso_flush_i
flushing src of length 1024

/usr/lib/ruby/gems/1.8/gems/ferret-0.10.9/lib/ferret/index.rb:517:in
`close’

/usr/lib/ruby/gems/1.8/gems/ferret-0.10.9/lib/ferret/index.rb:517:in
flush' /usr/lib/ruby/1.8/monitor.rb:229:insynchronize’

/usr/lib/ruby/gems/1.8/gems/ferret-0.10.9/lib/ferret/index.rb:514:in
`flush’

Is there a way to find out what happened? It wasn’t a space error, as
there’s plenty of space on the machine.

Also, if I optimize during an index run such as this, do I need to close
and
then re-open the index, or will that not affect things?

Thanks for any info you have.

David B. wrote:

Have you tried cd’ing into the ext directory and calling ruby extconf.rb and make directly? That may solve your problems or at
least give you a better idea of what is causing the error.

If this doesn’t work I can send you a ferret_ext.so but there will be
a new version coming out very soon so I’ll wait until then.

I’ll try doing that later on today to see if I can trace the error.
Thanks very much to Jens for sending me a working ferret_ext.so, that
has things running for the moment.

The only thing I can of that was strange about my installs was that is
was an Ubuntu Breezy install from CD, upgraded to Dapper by way of
modification of the sources.list file. I did this since parallels won’t
support Breezy booting for some reason, and I had ran out of blank cds.
I have a new server coming next week, so I’ll load that with Dapper and
try again.

Thanks again guys.

Dougal.

Hey Dave, thanks for the reply.

At this stage, the file size is about 20GB’s, so it’s a lot. Each file
in
the index (not optimized) is about 2GB, so it does seem we have hit the
limit you are talking about. The box has over 140 GB’s of storage, so
it’s
not out of space, but it’s consistently stopping at the same point each
time.

We’ve used gem install ferret to grab the latest (0.10.9) release.

What’s the way to compile it with this “large-file” support flag?

Thanks.

On 10/5/06, peter [email protected] wrote:

there’s plenty of space on the machine.

Also, if I optimize during an index run such as this, do I need to close and
then re-open the index, or will that not affect things?

Thanks for any info you have.

Hi Peter,

How much space is the indexing taking up by this stage? You may be
hitting the 2Gb limit in which case you will need to compile Ferret
with large-file support. Otherwise, I’m not sure why you’d be getting
this error. I’m going to have to improve that error message.

Cheers,
Dave