Carl Youngblood
2005-Dec-02 07:23 UTC
[Ferret-talk] Compile error on FreeBSD 4.10 gcc 2.95.4
FYI, I tried installing ferret on my freebsd virtual server and got this: retango# gem install ferret --include-dependencies Attempting local installation of ''ferret'' Local gem file not found: ferret*.gem Attempting remote installation of ''ferret'' Updating Gem source index for: http://gems.rubyforge.org Building native extensions. This could take a while... index_io.c: In function `frt_indexin_refill'': index_io.c:80: syntax error before `rStr'' index_io.c:82: `rStr'' undeclared (first use in this function) index_io.c:82: (Each undeclared identifier is reported only once index_io.c:82: for each function it appears in.) index_io.c: In function `frt_read_byte'': index_io.c:103: syntax error before `res'' index_io.c:104: `res'' undeclared (first use in this function) index_io.c: In function `frt_indexin_refill'': index_io.c:80: syntax error before `rStr'' index_io.c:82: `rStr'' undeclared (first use in this function) index_io.c:82: (Each undeclared identifier is reported only once index_io.c:82: for each function it appears in.) index_io.c: In function `frt_read_byte'': index_io.c:103: syntax error before `res'' index_io.c:104: `res'' undeclared (first use in this function) ruby extconf.rb install ferret --include-dependencies creating Makefile make gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I. -c index_io.c *** Error code 1 Stop in /usr/local/lib/ruby/gems/1.8/gems/ferret-0.2.2/ext. make install gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I. -c index_io.c *** Error code 1 Stop in /usr/local/lib/ruby/gems/1.8/gems/ferret-0.2.2/ext. Successfully installed ferret-0.2.2 Not sure why the native extensions don''t compile. I''m assuming it''s a problem with gcc. Thanks, Carl On 12/1/05, David Balmain <dbalmain.ml at gmail.com> wrote:> Hi Carl, > > I actually finished integrating my cFerret indexer but I''m not going > to release it. The performance is great but the code is really messy > and it would be a nightmare to maintain. Instead I''m porting the > search part of Lucene to C and I''ll write a Ruby interface to this > when I''m finished. I wish I could give you an accurate estimate but > the search module is the largest part or Lucene so it''s going to take > time. As an added bonus, search will be a lot faster as well as > indexing so it will be worth the wait. Hopefully I''ll have something > finished by Christmas. > > Solution: instead of optimizing your index every time you change it, > just flush it. This will keep your ActiveRecord model is in sync with > your index without the large delay. > > Cheers, > Dave > > On 12/2/05, Carl Youngblood <carl at youngbloods.org> wrote: > > I''m noticing some long delays when optimizing my index. I know this > > is terribly inefficient, but in order to make sure that my > > ActiveRecord model is in sync with my index, I''m optimizing after > > every new record that I store, like so: > > > > class Resume < ActiveRecord::Base > > include Ferret > > has_and_belongs_to_many :users > > SEARCH_INDEX = File.dirname(__FILE__) + ''/../../searchindex'' > > > > # syncronization with ferret index > > def after_save > > @@index ||= Index::Index.new(:path => SEARCH_INDEX, > > :create_if_missing => true) > > @@index << {:id => id, :email => email, :contents => contents, > > :date => found_on} > > @@index.flush > > @@index.optimize > > end > > > > def after_destroy > > @@index ||= Index::Index.new(:path => SEARCH_INDEX, > > :create_if_missing => true) > > @@index.delete(id) > > @@index.flush > > @@index.optimize > > end > > > > ... > > end > > > > I''m noticing about a 2-3 second delay after every new record that I > > store. I''m thinking that this will be bearable when cFerret comes > > out. Do you have any estimate on when that might be? > > > > Thanks, > > Carl > > > > _______________________________________________ > > Ferret-talk mailing list > > Ferret-talk at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ferret-talk > > > > _______________________________________________ > Ferret-talk mailing list > Ferret-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/ferret-talk >
Anatol Pomozov
2005-Dec-02 08:31 UTC
[Ferret-talk] Compile error on FreeBSD 4.10 gcc 2.95.4
I am not sure what does it mean. So could not solve your problem right now. But probably I could say more if you try to grab latest Ferret from SVN and build it manually. svn co svn://www.davebalmain.com/ferret/trunk ferret cd ferret/ext ruby extconf.rb make On 12/2/05, Carl Youngblood <carl at youngbloods.org> wrote:> > FYI, I tried installing ferret on my freebsd virtual server and got this: > > retango# gem install ferret --include-dependencies > Attempting local installation of ''ferret'' > Local gem file not found: ferret*.gem > Attempting remote installation of ''ferret'' > Updating Gem source index for: http://gems.rubyforge.org > Building native extensions. This could take a while... > index_io.c: In function `frt_indexin_refill'': > index_io.c:80: syntax error before `rStr'' > index_io.c:82: `rStr'' undeclared (first use in this function) > index_io.c:82: (Each undeclared identifier is reported only once > index_io.c:82: for each function it appears in.) > index_io.c: In function `frt_read_byte'': > index_io.c:103: syntax error before `res'' > index_io.c:104: `res'' undeclared (first use in this function) > index_io.c: In function `frt_indexin_refill'': > index_io.c:80: syntax error before `rStr'' > index_io.c:82: `rStr'' undeclared (first use in this function) > index_io.c:82: (Each undeclared identifier is reported only once > index_io.c:82: for each function it appears in.) > index_io.c: In function `frt_read_byte'': > index_io.c:103: syntax error before `res'' > index_io.c:104: `res'' undeclared (first use in this function) > ruby extconf.rb install ferret --include-dependencies > creating Makefile > > make > gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 > -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I. -c index_io.c > *** Error code 1 > > Stop in /usr/local/lib/ruby/gems/1.8/gems/ferret-0.2.2/ext. > > make install > gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 > -I/usr/local/lib/ruby/1.8/i386-freebsd4.10 -I. -c index_io.c > *** Error code 1 > > Stop in /usr/local/lib/ruby/gems/1.8/gems/ferret-0.2.2/ext. > Successfully installed ferret-0.2.2 > > > Not sure why the native extensions don''t compile. I''m assuming it''s a > problem with gcc. > > Thanks, > Carl > > On 12/1/05, David Balmain <dbalmain.ml at gmail.com> wrote: > > Hi Carl, > > > > I actually finished integrating my cFerret indexer but I''m not going > > to release it. The performance is great but the code is really messy > > and it would be a nightmare to maintain. Instead I''m porting the > > search part of Lucene to C and I''ll write a Ruby interface to this > > when I''m finished. I wish I could give you an accurate estimate but > > the search module is the largest part or Lucene so it''s going to take > > time. As an added bonus, search will be a lot faster as well as > > indexing so it will be worth the wait. Hopefully I''ll have something > > finished by Christmas. > > > > Solution: instead of optimizing your index every time you change it, > > just flush it. This will keep your ActiveRecord model is in sync with > > your index without the large delay. > > > > Cheers, > > Dave > > > > On 12/2/05, Carl Youngblood <carl at youngbloods.org> wrote: > > > I''m noticing some long delays when optimizing my index. I know this > > > is terribly inefficient, but in order to make sure that my > > > ActiveRecord model is in sync with my index, I''m optimizing after > > > every new record that I store, like so: > > > > > > class Resume < ActiveRecord::Base > > > include Ferret > > > has_and_belongs_to_many :users > > > SEARCH_INDEX = File.dirname(__FILE__) + ''/../../searchindex'' > > > > > > # syncronization with ferret index > > > def after_save > > > @@index ||= Index::Index.new(:path => SEARCH_INDEX, > > > :create_if_missing => true) > > > @@index << {:id => id, :email => email, :contents => contents, > > > :date => found_on} > > > @@index.flush > > > @@index.optimize > > > end > > > > > > def after_destroy > > > @@index ||= Index::Index.new(:path => SEARCH_INDEX, > > > :create_if_missing => true) > > > @@index.delete(id) > > > @@index.flush > > > @@index.optimize > > > end > > > > > > ... > > > end > > > > > > I''m noticing about a 2-3 second delay after every new record that I > > > store. I''m thinking that this will be bearable when cFerret comes > > > out. Do you have any estimate on when that might be? > > > > > > Thanks, > > > Carl > > > > > > _______________________________________________ > > > Ferret-talk mailing list > > > Ferret-talk at rubyforge.org > > > http://rubyforge.org/mailman/listinfo/ferret-talk > > > > > > > _______________________________________________ > > Ferret-talk mailing list > > Ferret-talk at rubyforge.org > > http://rubyforge.org/mailman/listinfo/ferret-talk > > > > _______________________________________________ > Ferret-talk mailing list > Ferret-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/ferret-talk >-- anatol (http://pomozov.info) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ferret-talk/attachments/20051202/8cf76548/attachment-0001.htm