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.

Publié le 02 juin 2008 à 23h11 Publié sous

Mots clés freebsd, ruby, unix

Si cet article vous a plu, suivez-moi sur Twitter Suivez-moi sur Twitter

  1. Avatar

    Par ook le 03 juin 2008 à 14h18 :


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

  2. Avatar

    Par webs le 05 juin 2008 à 10h53 :


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

  3. Avatar

    Par Forth le 15 juin 2008 à 01h26 :


    encore plus simple: portinstall ruby-iconv :P

  4. Avatar

    Par jhc_ le 28 juin 2008 à 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 !

  5. Avatar

    Par Didi le 15 avril 2010 à 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.

  6. Avatar

    Par Frederic de Villamil le 15 avril 2010 à 15h27 :


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

  7. Avatar

    Par Didi le 22 avril 2010 à 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.

  8. Avatar

    Par Didi le 27 avril 2010 à 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!

Réagir à Ruby, iconv et FreeBSD sont dans un bateau

Merci de vous exprimer dans un français correct. Les commentaires déplacés, injurieux et le spam seront supprimés.

Les trackbacks sont fermés pour cause de spam.


Abonnez-vous au flux RSS et suivez les nouveaux articles du site Suivez-moi sur Twitter