Le Rayon UX

La radiographie du Web en temps presque réel / thème en chantier (je m'appelle Teuse)

Ruby, iconv et FreeBSD sont dans un bateau

J’ai profité de la migration des sites sur le nouveau serveur pour passer Typosphere de Trac à Redmine. Trac est codé en Python et connaît en effet de très gros problèmes de performances dès que la table session contient plus d’une centaines d’entrées, Redmine est en Ruby, plus beau, et nettement plus agréable à utiliser. La question ne se posait donc pas.

Malheureusement, Ruby semble avoir un petit soucis avec la librairie Iconv lorsqu’on est sous FreeBSD, et la librairie nécessaire à son utilisation n’est pas compilée en même temps que le package. Un rake db:migrate nous donne alors un for déplaisant :

No such file to load -- iconv

Il va donc nous falloir compiler le support Iconv pour Ruby à la main. On va pour cela commencer par récupérer les sources de Ruby correspondant à la version installée localement :

neuro@7el.net:~$ cd /tmp
neuro@7el.net:~$ ruby -v
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-freebsd7]
neuro@7el.net:~$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
neuro@7el.net:~$ tar xvzf ruby-1.8.6.tar.gz
neuro@7el.net:~$ cd ruby-1.8.6/ext/iconv
neuro@7el.net:~$ ruby extconf.rb  --with-iconv-dir=/usr/local
neuro@7el.net:~$ make
neuro@7el.net:~$ cp iconv.so /usr/local/lib/ruby/1.8/i386-freebsd7

Et voilà, c’est terminé, vous pouvez reprendre le cours de votre installation.

  • Par ook 03/06/2008 at 14h18

    Merci pour ce post, nous serons plus à même d’orienter les utilisateurs rencontrant des difficultés quant à l’utilisation d’iconv.


  • Par webs 05/06/2008 at 10h53

    Et sinon, un petit @cd /usr/ports/convertes/ruby-iconv && make install clean@ et c’est bon :)


  • Par Forth 15/06/2008 at 01h26

    encore plus simple: portinstall ruby-iconv :P


  • Par jhc_ 28/06/2008 at 02h28

    Je suis ravi de voir que je n’étais pas la seul à avoir ce problème, et encore plus heureux de constater que j’ai désormais la solution.

    Merci !


  • Par Didi 15/04/2010 at 11h48

    Bonjour, Je viens réveiller ce vieux post car j’ai eu le même souci. Je suis sous FreeBSD 7, j’ai upgrade de ruby 1.8.6 à ruby 1.8.7; et je suis passé à rubygems 1.3.6. Après j’ai résinstallé tout mes gems, et lorsque j’ai essayé de lancer mon application ruby, j’ai eu l’erreur soulevé dans ce post : No such file to load – iconv J’ai effectué toute la procédure citée dans ce post, mais rien n’y fait, l’erreur persiste. Peut être que la méthode n’est plus la même pour la dernière version de ruby, que sais je? J’espère que vous pourrez m’apporter un coup de main. Merci.


  • Par Frederic de Villamil 15/04/2010 at 15h27

    Juste une question : es-tu certain d’avoir installé iconv sur ta machine FreeBSD avant de recompiler le module Ruby ?


  • Par Didi 22/04/2010 at 13h33

    Ah ça non…j’ai d’abord recompilé ruby en 1.8.7, puis j’ai installé iconv…vous pensez que le problème vient de là? Je vais essayer dans l’autre sens alors. Je vous tiendrais informé. Merci.


  • Par Didi 27/04/2010 at 14h09

    Bonjour, alors cette fois ci j’ai d’abord installé iconv, et ensuite compilé ruby en 1.8.7…mais toujours le même problème : “no such file to load –iconv”. Je suis désespéré :-(, il faut vraiment que je fasse marcher ce serveur. A l’aiiiiiide!


Commentaire Ruby, iconv et FreeBSD sont dans un bateau