[ANN] Ferret 0.11.1-rc2

Hey guys,

Just released Ferret 0.11.1. Hopefully this will fix most of the
problems people were having. Now that I know gcc hides stack overflows
on Ubuntu because -fstack-protector is set, I won’t get caught by that
one again. Anyone know any other gotchas I should be aware of on
Ubuntu.

Please try the new version and let me know if you are still having
problems with it. I have until the end of the week to work on Ferret
as much as I need to so I’d like to deal with as many issues as
possible within that time.

Cheers,
Dave

David B. wrote:

Hey guys,

Just released Ferret 0.11.1. Hopefully this will fix most of the
problems people were having. Now that I know gcc hides stack overflows
on Ubuntu because -fstack-protector is set, I won’t get caught by that
one again. Anyone know any other gotchas I should be aware of on
Ubuntu.

Please try the new version and let me know if you are still having
problems with it. I have until the end of the week to work on Ferret
as much as I need to so I’d like to deal with as many issues as
possible within that time.

Cheers,
Dave

Dave,

I’m getting the following error on my Mac OS/Locomotive environment when
starting mongrel:

/Applications/Locomotive2/Bundles/rmagickRailsSept2006_x86.locobundle/framework/lib/ruby/gems/1.8/gems/ferret-0.11.1/lib/ferret/document.rb:45:
Document is not a class (TypeError)
from
/Applications/Locomotive2/Bundles/rmagickRailsSept2006_x86.locobundle/framework/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
require' from /Applications/Locomotive2/Bundles/rmagickRailsSept2006_x86.locobundle/framework/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:inrequire’
from
/Applications/Locomotive2/Bundles/rmagickRailsSept2006_x86.locobundle/framework/lib/ruby/gems/1.8/gems/ferret-0.11.1/lib/ferret.rb:27
from
/Applications/Locomotive2/Bundles/rmagickRailsSept2006_x86.locobundle/framework/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:33:in
require' from /Applications/Locomotive2/Bundles/rmagickRailsSept2006_x86.locobundle/framework/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:inrequire’

Is this something with my configuration or a bug with the new version?
mongrel starts cleanly with 0.11.0…

Thanks so much for you work on this.

-Andy

On 2007-02-27, at 16:02, David B. wrote:

Hey guys,

Just released Ferret 0.11.1. Hopefully this will fix most of the
problems people were having. Now that I know gcc hides stack overflows
on Ubuntu because -fstack-protector is set, I won’t get caught by that
one again. Anyone know any other gotchas I should be aware of on
Ubuntu.

at least macos does not know, how to handle that parameter…

cc1: error: unrecognized command line option “-fno-stack-protector”
make: *** [analysis.o] Error 1

Ben

On 2007-02-27, at 16:02, David B. wrote:

Hey guys,

Just released Ferret 0.11.1. Hopefully this will fix most of the
problems people were having. Now that I know gcc hides stack overflows
on Ubuntu because -fstack-protector is set, I won’t get caught by that
one again. Anyone know any other gotchas I should be aware of on
Ubuntu.

Great stuff Dave.
My fairly standard Debian box fails on gem install too.

ruby extconf.rb install ferret
creating Makefile

make
gcc -I. -I/usr/lib/ruby/1.8/i386-linux -I/usr/lib/ruby/1.8/i386-linux
-I. -fPIC -Wall -g -fno-strict-aliasing -O2 -fPIC -fno-stack-protector
-fno-common -D_FILE_OFFSET_BITS=64 -c q_multi_term.c
cc1: error: unrecognized option `-fno-stack-protector’
make: *** [q_multi_term.o] Error 1

For the record

gcc --v

Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
Configured with: …/src/configure -v
–enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
–mandir=/usr/share/man --infodir=/usr/share/info
–with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared
–enable-__cxa_atexit --with-system-zlib --enable-nls
–without-included-gettext --enable-clocale=gnu --enable-debug
–enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc
i486-linux
Thread model: posix
gcc version 3.3.5 (Debian 1:3.3.5-13)

Sam

A quick search on Google for this option gives this page:

http://www.trl.ibm.com/projects/security/ssp/

It looks like this option was introduced in GCC 3.4.4

I got the below error on installation:

Building native extensions. This could take a while…
cc1: error: unrecognized command line option “-fno-stack-protector”
make: *** [analysis.o] Error 1
cc1: error: unrecognized command line option “-fno-stack-protector”
make: *** [analysis.o] Error 1
ruby extconf.rb install ferret
creating Makefile

make
gcc -I. -I/usr/local/lib/ruby/1.8/i686-darwin8.8.1
-I/usr/local/lib/ruby/1.8/i686-darwin8.8.1 -I. -fno-common -g -O2 -pipe
-fno-common -fno-stack-protector -fno-common -D_FILE_OFFSET_BITS=64 -c
analysis.c

make install
gcc -I. -I/usr/local/lib/ruby/1.8/i686-darwin8.8.1
-I/usr/local/lib/ruby/1.8/i686-darwin8.8.1 -I. -fno-common -g -O2 -pipe
-fno-common -fno-stack-protector -fno-common -D_FILE_OFFSET_BITS=64 -c
analysis.c

make clean
Successfully installed ferret-0.11.1
Installing ri documentation for ferret-0.11.1…
Installing RDoc documentation for ferret-0.11.1…

then I get this when I try and run my rails app:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in
gem_original_require': no such file to load -- ferret_ext (LoadError) from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:inrequire’
from
/usr/local/lib/ruby/gems/1.8/gems/ferret-0.11.1/lib/ferret.rb:25
from
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:33:in
gem_original_require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:33:inrequire’

-Mike

David B. wrote:

Hey guys,

Just released Ferret 0.11.1. Hopefully this will fix most of the
problems people were having. Now that I know gcc hides stack overflows
on Ubuntu because -fstack-protector is set, I won’t get caught by that
one again. Anyone know any other gotchas I should be aware of on
Ubuntu.

Please try the new version and let me know if you are still having
problems with it. I have until the end of the week to work on Ferret
as much as I need to so I’d like to deal with as many issues as
possible within that time.

Cheers,
Dave

I’m getting :


ERROR: While executing gem … (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.

ruby extconf.rb update ferret
creating Makefile

make
gcc -fPIC -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -Wall -fPIC
-fno-stack-protector -fno-common -D_FILE_OFFSET_BITS=64 -I.
-I/usr/lib/ruby/1.8/i386-linux -I/usr/lib/ruby/1.8/i386-linux -I. -c
filter.c
cc1: error: unrecognized command line option “-fno-stack-protector”
make: *** [filter.o] Error 1

Gem files will remain installed in
/usr/lib/ruby/gems/1.8/gems/ferret-0.11.1 for inspection.
Results logged to
/usr/lib/ruby/gems/1.8/gems/ferret-0.11.1/ext/gem_make.out


on Centos 4.4 (and by extension RHEL 4) with ruby 1.8.4. FYI.

Try changing:
$CFLAGS += " -fno-stack-protector -fno-common -D_FILE_OFFSET_BITS=64"

to:
$CFLAGS += " -fno-common -D_FILE_OFFSET_BITS=64"

in file ext/extconf.rb

If you don’t have that extension built into GCC then you do not need
that flag.

Here is more information regarding Stack smash protection:

On 2/28/07, Daniel R. [email protected] wrote:

Try changing:
$CFLAGS += " -fno-stack-protector -fno-common -D_FILE_OFFSET_BITS=64"

to:
$CFLAGS += " -fno-common -D_FILE_OFFSET_BITS=64"

Sorry, I should have made it clear that that is what I have already
done. Thanks anyway though.

Thanks guys, looks like I’ll be putting another version out very soon.
I’m just trying to set up a rake task to do a quick release to
rubyforge. I’m looking at xforge[1] at the moment. Anyone have any
alternative recommendations?

[1] http://xforge.rubyforge.org/

David B. wrote:

I’ve just released 0.11.2-rc3

Awesome.
The gem installs fine.
The index rebuilds fine and passes all my search tests (including that
nasty A Team BA Barrachus thang)
Great stuff Dave.

Sam

Hi David,

Thanks guys, looks like I’ll be putting another version out very soon.
I’m just trying to set up a rake task to do a quick release to
rubyforge. I’m looking at xforge[1] at the moment. Anyone have any
alternative recommendations?

[1] http://xforge.rubyforge.org/

Have you looked at Hoe? It includes a Rake task to Package and upload to
Rubyforge.

http://blog.zenspider.com/archives/2007/02/hoe_version_120_has_been_released.html

Cheers!
Patrick

On Wed, Feb 28, 2007 at 12:23:15PM +1100, David B. wrote:

Thanks guys, looks like I’ll be putting another version out very soon.
I’m just trying to set up a rake task to do a quick release to
rubyforge. I’m looking at xforge[1] at the moment. Anyone have any
alternative recommendations?

I recently set up something like that in acts_as_ferret. I use the
rubyforge gem which is called from some rake tasks.

http://projects.jkraemer.net/acts_as_ferret/browser/trunk/plugin/acts_as_ferret/rakefile

the prerelease task that does the check for dirty files is somewhat
svk-centric but trivial to rewrite for svn.

Jens


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

Amtsgericht Dresden | HRB 15422
GF Sven Haubold, Hagen Malessa

On 3/1/07, Patrick R. [email protected] wrote:

http://blog.zenspider.com/archives/2007/02/hoe_version_120_has_been_released.html

Thanks Patrick, I’ll take a look at this.

On 3/1/07, Jens K. [email protected] wrote:

the prerelease task that does the check for dirty files is somewhat
svk-centric but trivial to rewrite for svn.

Thanks Jens. I’ll definitely take a look at this too. That’s the first
time I’ve heard of svk. It could come in handy in the future.

Excerpts from Patrick R.'s message of Wed Feb 28 05:52:57 -0800
2007:

Have you looked at Hoe? It includes a Rake task to Package and upload
to Rubyforge.

I use Hoe for several projects and it’s great. The Rakefile for Sup (a
complex package with 6 dependencies) is only 47 lines and has tasks for
building the gem, uploading it RubyForge and posting announcments.

The only issues I have are a) it expects a very specific directory
setup, and if you are fitting it on a pre-existing project you either
have to conform or you have to be very careful (e.g. it expects doc/ to
contain only generated rdoc pages, and so deletes that directory with no
warning for several tasks); and b) it adds itself as a dependency to the
gem, for no good reason, and you have to monkey-patch it to stop that.