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 et Labels freebsd, ruby, unix

À propos

Frédéric de Villamil

Je m'appelle Frédéric de Villamil, et quand je ne déploie pas ma mauvaise humeur et ma mauvaise foi sur le Web, je suis un super héros chargé de sauver le monde. Vous pouvez me suivre sur Twitter.

  1. 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. webs le 05 juin 2008 à 10h53

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

  3. Forth le 15 juin 2008 à 01h26

    encore plus simple: portinstall ruby-iconv :P

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

Afin de maintenir le niveau global de ce site, les commentaires font l'objet d'une politique de modération qualitative basée sur des critères non écrits et totalement subjectifs, donc injustes.

Les commentaires écrits en langage SMS, inutiles, déplacés, injurieux ou relevant du spam seront systématiquement supprimés sans avertissement préalable.

Les trackbacks sont fermés pour cause de spam.