Installer ImageMagick chez l’hébergeur DreamHost

J’ai récemment commencé à utiliser RVM, le gestionnaire des versions de ruby, sur mon compte mutualisé Dreamhost. En réinstallant mes gems j’ai été confronté à une erreur concernant la compilation d’ImageMagick nécessaire au gem rmagick. En effet la librairie RMagick2.so n’est trouvée car systématique recherchée dans /usr/local/lib.
Type d’erreur :

LoadError: libMagickCore.so.2: cannot open shared object file: No such file or directory - $HOME/.rvm/gems/ruby-1.8.7-head@monprojet/gems/rmagick-2.13.1/lib/RMagick2.so

L’astuce est de compiler ImageMagick en précisant au compilateur où trouver les librairies compilées et installées par mes soins.
Ci-dessous la ligende commande qui permet à la librarie de s’installer et rechercher où il faut les dépendances :

LDFLAGS="-L$HOME/opt/lib -Wl,-rpath,$HOME/opt/lib"
LD_LIBRARY_PATH=/home/congopro/opt/lib
./configure --prefix=/home/congopro/opt --with-gslib --with-gs-font-dir=/usr/share/fonts/type1/gsfonts/ --without-perl --without-magick-plus-plus

J’ai par la même occasion complétée la procédure de compilation disponible sur le wiki de Dreamhost : http://wiki.dreamhost.com/Image_Magick#Compiling_ImageMagick_on_your_DreamHost_account

Installer Xapian 1.2.5 et le binding Ruby chez Dreamhost

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++.

Logo Xapian

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

RubyConf 2009 à San Francisco

RubyConf 2009 à San Francisco

RubyConf 2009 à San Francisco

C’est du 19 au 21 novembre 2009 à San Francisco qu’aura lieu la RubyConf de cette année. C’est l’occasion de pour les plus chanceux de se mettre à jour sur les nouveautés et retour d’expérience directement liés à la technologie Ruby.

Au passage voici une adresse qui permet de trouver des vidéos interressante sur Ruby et RubyOnRails : http://envycasts.com/.