Obtention de l'erreur pour libxml2.2.dylib « fichier n'est pas nécessaire de l'architecture »
Question
Je suis en train d'utiliser RVM pour installer Ruby 1.9.2 sur mon Mac sous Snow Leopard.
Mon .bash_profile
contient
ARCHFLAGS="-arch x86_64"
Pour installer Ruby, je lance:
rvm install 1.9.2 -C --enable-shared
Je reçois une erreur lors de la compilation. Voici le make.error.log:
[2010-01-20 10:03:00] make
ld: in /usr/local/lib/libxml2.2.dylib, file is not of required architecture
collect2: ld returned 1 exit status
make[1]: *** [../../.ext/i386-darwin10.2.0/tcltklib.bundle] Error 1
make: *** [mkmain.sh] Error 1
EDIT:
J'ai installé Readline source et essayé l'installation comme ceci:
rvm install 1.9.2 -C --enable-shared,--with-readline-dir=/usr/local
qui a abouti à la même erreur que précédemment.
Les emplacements du fichier rcltklib.bundle est:
/usr/local/lib/ruby/1.8/i686-darwin9.7.0/tcltklib.bundle
(Je pense que ce fichier fait partie de l'installation OSX Ruby)
La solution
Maintenant, enfin je compris.
Je l'ai fait installer Ruby 1.8.7 de rubyosx et il semblait y avoir des bibliothèques brisées qui RVM utilisées pour compiler ses rubis.
La solution consiste à supprimer le rubis rubyosx de /usr/local
.
La solution moins radicale est de renommer tout le dossier /usr/local
lors de la compilation avec RVM. Ensuite, vous pouvez le nommer de nouveau et il fonctionne comme prévu.
Glad il fonctionne maintenant.
Autres conseils
Vous définissez ARCHFLAGS à deux architectures différentes. Pourquoi? Essayez avec seulement -arch -x86_64
(qui, autant que je sache, est la valeur par défaut dans le léopard des neiges).