J'ai des problèmes avec certains de mes rubygems, en particulier ceux qui utilisent des extensions natives.Qu'est-ce qui provoquerait la génération des extensions gem natives sous OS X, mais le chargement échouerait?
Je suis sur un MacBookPro, avec Snow Leopard. J'ai installé XCode 3.2.1, avec gcc 4.2.1. Ruby 1.8.6, parce que je suis paresseux et un chat effrayant et que je ne veux pas encore améliorer. Ruby fonctionne en mode 32 bits. J'ai construit ce rubis à partir de zéro quand mon MBP a fonctionné sous OSX 10.4.
Lorsque j'ai besoin de l'un des gems affectés dans irb, j'obtiens une erreur de chargement pour le fichier de l'extension gem. Par exemple, voici nokogigi me dissing:
> require 'rubygems'
=> true
> require 'nokogiri'
LoadError: Failed to load /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.bundle
Cela se produit également avec le Postgres pg et pierres précieuses MongoDB mongo.
Ma première pensée était que les extensions ne devaient pas être construites correctement. Mais gem install ne lançait aucune erreur. J'ai donc réinstallé avec le drapeau verbeux, espérant voir des avertissements utiles. I've put the output in a Pastie, et le seul avertissement que je vois est cohérent sur "passer l'argument n de 'foo' avec une largeur différente due au prototype."
Je suppose que cela pourrait être un problème de mise à niveau vers Snow Leopard, mais je suis un peu surpris de l'expérimenter maintenant, depuis que j'ai mis à jour mon XCode. Cela pourrait-il provenir de l'exécution de Ruby en 1.8.6? Je suis gêné de savoir que je ne sais pas assez sur mon Mac et OSX pour savoir où regarder ensuite, donc toute orientation, même juste un pointeur vers un document que je n'ai pas trouvé via Google, serait la bienvenue.
Michael
Avez-vous vérifié si l'exécutable ruby que vous lancez est celui que vous avez construit ou celui qui est fourni avec MacOS X? –
Il me dit que c'est ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.8.5] – goodmike
Etrange. Est-ce que les gems sans extensions natives se chargent correctement? –