2010-12-14 42 views
1

J'étais sur le point de commencer ma première application Rails 3 et je pensais que je voudrais passer à la dernière version de ruby ​​avant moi et le rubis ne parvient pas à faire correctement.Mise à jour de Ruby via RVM problème, semble être un problème avec libxml

J'utilise le léopard des neiges du Kernal 32bit au moment et chaque fois que j'essayer de courir 1.9.2 que ce soit par readline ou ssl je reçois toujours l'erreur suivante:

ld: warning: in ../../libruby.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
ld: in /Developer/SDKs/MacOSX10.6.sdk/usr/local/lib/libxml2.2.dylib, file was built for unsupported file format which is not the architecture being linked (i386) 
collect2: ld returned 1 exit status 
make[1]: *** [../../.ext/i386-darwin10.5.0/tcltklib.bundle] Error 1 

J'ai essayé d'utiliser le 64 kernal en utilisant cela entre autres comme un guide http://www.markhneedham.com/blog/2010/07/08/installing-ruby-1-9-2-with-rvm-on-snow-leopard/ mais ensuite je reçois un message similaire disant libxml1.dylib est en panne car il n'est pas mis en place à 64 bits.

Quelqu'un a-t-il des idées? ça me rend fou ...

+0

maintenant obtenir cette erreur: - ld: en /usr/local/lib/libxslt.1.dylib, le fichier a été construit pour i386 qui n'est pas l'architecture étant liée (x86_64) –

Répondre

0

Vous devez vous assurer que votre Ruby est 64 bits, et que les pilotes natifs le font correspondre. ruby -v sur 64 bits Snow Leopard devrait afficher:

ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0] 

Vos gemmes se plaindra de l'architecture, de retour l'empreinte i386 quand il y a un décalage. Pour résoudre ce problème, vous pouvez essayer:

gem pristine --all 

qui devrait marcher à travers toutes les pierres précieuses et les recharger à partir des versions mises en cache propres. Dans ce processus, tous les lecteurs natifs doivent être reconstruits.

1

Ok pour toute personne ayant la même question que moi je suggère d'aller à 64bits Kernal - si vous n'êtes pas sûr de savoir comment aller here

Je puis suivre cet excellent blog post

La seule autre chose que j'ai besoin de faire au-dessus de ce post était aussi bien que la mise à jour de libxml. J'ai aussi dû mettre à jour libxlst (que vous pouvez télécharger depuis la même source). Une fois que j'ai couru l'installation vérifiée il pointait vers le kernal correct alors tout a bien mis à jour.

Un espoir qui aide tous ceux qui ont le même problème!

+0

Le billet de blog vous référence travaillé pour moi ainsi que. J'ai utilisé 'brew install libxml2' et' brassage lien libxml2' pour obtenir libxml2 sur 64 bits, et ensuite fait le même ensemble de commandes pour libxslt. La partie --readline était également importante, car j'ai utilisé la readline de l'infusion. –

+0

Cet article de blog est vraiment utile. Merci! –