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 Systèmes et réseaux
Si cet article vous a plu, suivez-moi sur Twitter
8 commentaires sur Ruby, iconv et FreeBSD sont dans un bateau »
-
Par ook le 03 juin 2008 à 14h18 :
-
Par webs le 05 juin 2008 à 10h53 :
Et sinon, un petit @cd /usr/ports/convertes/ruby-iconv && make install clean@ et c’est bon :)
-
Par Forth le 15 juin 2008 à 01h26 :
encore plus simple: portinstall ruby-iconv :P
-
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 !
-
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.
-
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 ?
-
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.
-
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!
Trackbacks sur Ruby, iconv et FreeBSD sont dans un bateau
Les trackbacks sont fermés pour cause de spam.
L'ergonomie web, l'utilisabilité et la qualité des logiciels sont trois grandes passions mises au services de ma profession.
Merci pour ce post, nous serons plus à même d’orienter les utilisateurs rencontrant des difficultés quant à l’utilisation d’iconv.