2013-02-15 7 views
1

OS: Mac OS X 10.8.2 XCode: Les dernières avec des outils de ligne de commande installé (version 4.6) Rails: Version 3.2.3joyau JSON ne pas compiler sur Mac OS X 10.8.2

Je tentais pour générer les routes pour un projet sur lequel je travaille (en le faisant de façon régulière), quand j'ai reçu un message d'erreur, avec une recommandation que je faisais une installation groupée et un bundle exec. Je l'ai fait, et cette fois-ci, le processus s'est interrompu lors de la compilation de la Gemme JSON (version 1.7.7).

Faire des recherches sur StackOverflow, la recommandation est de mettre à jour les outils de ligne de commande de XCode, et moi, mais cela ne résout pas le problème.

J'ai essayé d'installer la version 1.7.7 JSON séparément, et il a échoué, me disant de chercher le journal des erreurs dans:

~/.rvm/gems/ruby-1.9.3-p125/gems/json-1.7.7/ext/json/ext/generator/gem_make.out 

qui se lit:

/Users/mine/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb 
creating Makefile 

make 
compiling generator.c 
make: /usr/bin/gcc-4.2: No such file or directory 
make: *** [generator.o] Error 1 

Je cherchai/usr/bin/gcc-4.2, et en effet, ce n'est pas là. Mais, quand je fais:

ls -l /usr/bin/gcc 

Voici ce que je reçois:

lrwxr-xr-x 1 root wheel 12 Feb 14 15:49 /usr/bin/gcc -> llvm-gcc-4.2 

Comment puis-je résoudre ce problème?

+0

Avez-vous essayé 'un lien symbolique/usr/bin/gcc-4.2' au même binaire? 'Cd/usr/bin && sudo ln -s LLVM-gcc-4.2 gcc-4.2' – Tim

Répondre

2

Je pense que le problème est que lorsque vous installez les outils de ligne de commande Xcode, gcc est sym-liée à LLVM, et LLVM ne peut pas toujours compiler Ruby et pierres précieuses correctement.

Si vous installez autoconf, automake et gcc directement (ou par quelque chose comme Homebrew), vous devriez être en mesure de corriger les erreurs du compilateur.

+0

caveat: assurez-vous que vous faites sudo, sinon "brew install gcc" sera tout. Cela a fonctionné pour bundle: install. Je suis maintenant incapable de faire des "rake routes", j'ai le message d'erreur suivant: Vous avez déjà activé rake 10.0.3, mais votre Gemfile nécessite rake 0.9.2.2. L'utilisation de bundle exec peut résoudre ce problème. – EastsideDeveloper

+0

Est-ce que l'exec bundle a corrigé cela? Vous pouvez également essayer de changer la version de rake spécifiée par votre Gemfile. Je – Andy

+0

dû désinstaller râteau, et ajouter bijou « rake » à mon Gemfile, puis bundle réexécuter: installer. Cela a réglé le problème. – EastsideDeveloper

0

Le problème est que le gcc vous avez utilisé pour compiler votre version installée de rubis se est retirée dans le cadre des mises à jour de Xcode. En utilisant RVM, reconstruisez votre ruby ​​(vous pouvez également utiliser la dernière version). Une fois que vous faites cela, vous ne devriez avoir aucun problème à créer des gemmes avec des extensions natives.

Questions connexes