Il est temps de faire le ménage sur les libs installées depuis quelques années chez mon hébergeur : DreamHost.
L’un des composants majeur que j’utilise et qui n’est pas disponible par l’hébergeur est Xapian. Actuellement la version 1.2.5 est stable, mettons à jour notre ancienne version 1.0.23.
Pour rappel Xapian est une librairie de recherche plein texte open source écrite en C++.
Premièrement sur les environnement de Dreamhost, les packages de développement de la librairie UUID ne sont pas disponible, faisons une installation locale.
Récupérer la lib UUID du projet e2fsprogs avec l’une des urls suivantes :
- git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
- http://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
- https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd $HOME mkdir -p $HOME/opt/src cd $HOME/opt/src git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git cd e2fsprogs ./configure CFLAGS=-fPIC --prefix=$HOME/opt cd lib/uuid make && make install
Récupérons les sources de xapian-core puis installons :
cd $HOME/opt/src wget http://oligarchy.co.uk/xapian/1.2.5/xapian-core-1.2.5.tar.gz tar -zxvf xapian-core-1.2.5.tar.gz cd xapian-core-1.2.5 ./configure LDFLAGS=-L$HOME/opt/lib CFLAGS=-fPIC CXXFLAGS=-I$HOME/opt/include --prefix=$HOME/opt make && make install
Récupérons les sources de xapian-bindings puis installons la version pour Ruby :
cd $HOME/opt/src wget http://oligarchy.co.uk/xapian/1.2.5/xapian-bindings-1.2.5.tar.gz tar -zxvf xapian-bindings-1.2.5.tar.gz cd xapian-bindings-1.2.5 ./configure --with-ruby LDFLAGS=-L$HOME/opt/lib CFLAGS=-fPIC CXXFLAGS=-I$HOME/opt/include --prefix=$HOME/opt RUBY_LIB=$HOME/opt/ruby_modules RUBY_LIB_ARCH=$HOME/opt/ruby_modules XAPIAN_CONFIG=$HOME/opt/bin/xapian-config make && make install
Dans l’application RubyOnRails indiquons le chemin de nos modules installés localement (config/environnement.rb) :
if ENV['RAILS_ENV'] == "production"
config.load_paths += [ ENV['HOME'] + '/opt/ruby_modules' ]
end


