33 votes

Ruby, RVM, LLVM et MySQL

J'ai de gros problèmes pour configurer Ruby et MySQL sous MacOSX. Pour information, je suis nouveau sur MacOSX et Ruby On Rails.

Donc, d'abord j'ai eu des problèmes pour installer la gemme mysql2, après avoir obtenu la gemme installée j'ai essayé de développer un test, et quand j'ai essayé de démarrer le WEBrick a obtenu cette erreur disant que ne pouvait pas charger une lib MySQL appelé "libmysqlclient.18.dylib". En cherchant sur Google à propos de cette erreur, j'ai vu que tout le monde recommandait d'utiliser Ruby via RVM. J'ai installé RVM et essayé d'installer ruby 1.9.3 et j'ai obtenu cette erreur :

ERREUR : Le CC fourni (/usr/bin/gcc) est basé sur LLVM, il n'est pas encore complètement supporté par ruby et gems, merci de lire rvm requirements .

Je suis presque en train d'abandonner l'apprentissage de Rails, la mise en place d'un environnement de développement ne devrait pas être si pénible. Sous Windows, je n'ai aucun problème.

66voto

Delameko Points 1240

Malheureusement, tu essaies Rails à un mauvais moment. Il y a beaucoup de transition en ce moment, comme d'autres l'ont mentionné Xcode 4.2 a été récemment publié et a un nouveau compilateur, aussi Ruby 1.9.3 est sorti.

Je développe Ruby et Rails depuis quelques années maintenant, mais essayer d'être à nouveau opérationnel après avoir installé Lion proprement cette semaine a été plus problématique que par le passé.

Tout d'abord, assurez-vous que RVM est à jour (car le problème devrait être résolu) :

rvm get head

Ensuite, essayez d'installer comme suit :

CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

EDIT :

Remarque, en travaillant sur mes propres problèmes, je pense que la première commande a probablement résolu le problème. La seconde n'aurait pas apporté de bénéfice supplémentaire :

rvm install 1.9.3

Comme sur mon installation propre, /usr/bin/gcc-4.2 n'existe pas.

Je voulais également ajouter que j'ai fini par compiler l'ancien GCC manuellement pour les situations où le nouveau compilateur échoue. J'ai suivi cet article de blog très informatif .

0 votes

J'ai installé le logiciel osx-gcc-installer( github.com/kennethreitz/osx-gcc-installer ) dans l'un de mes précédents essais, peut-être que cela doit faire l'affaire pour fonctionner. J'ai donc installé Ruby et RVM, dans la semaine je vais tester pour voir si tout est OK.

1 votes

Rvm get head CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared COMBO WORKED

0 votes

Thnxs ! J'ai dû suivre votre "article de blog très informatif" et compiler manuellement gcc

48voto

Anno2001 Points 945

Ajouter --with-gcc=clang en tant que paramètre :

rvm install ruby-1.9.3 --with-gcc=clang

2 votes

J'essaie d'installer une ancienne version de ruby pour suivre des exemples vieux de trois ans rvm install 1.8.6 --with-gcc=clang a fonctionné à merveille, merci.

0 votes

J'ai pu installer la 1.9.3 sans problème, mais tout ce qui était plus ancien ne passait pas. Ceci m'a aidé. Merci à la @team-pannous

3voto

Cygnusx1 Points 2820

Avez-vous installé la dernière version de Xcode depuis le Mac Store ?

voici un bon guide que j'ai suivi pour mettre à jour mes ruby/Rails vers 1.9.2/3.0

guide

bonne chance

2voto

brian.clear Points 2424

Merci Delamenko, j'ai enfin réussi à le faire fonctionner.

RÉSUMÉ POUR STACK OVERFLOW

J'ai essayé d'installer SiriProxy sur une installation Lion propre sur Xcode à partir de l'App Store.

Je continue à obtenir des erreurs comme : Le CC fourni (/usr/bin/gcc) est basé sur LLVM.

bash-3.2$ rvm install 1.9.3
ERROR: The provided CC(/usr/bin/gcc) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.

Après 2 jours, j'ai finalement réussi à le faire fonctionner avec ces deux lignes

http://stackoverflow.com/questions/8000145/ruby-rvm-llvm-and-mysql

bash-3.2$ rvm get head
bash-3.2$ CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

Avant cela, j'avais essayé tous les articles de stackoverflow sur Ruby et Lion, donc en les faisant, j'ai pu faire quelques réglages qui ont aidé les 2 étapes ci-dessus à fonctionner :

J'ai essayé plusieurs choses :

Exécution de l'installation de Xcode.app (j'avais téléchargé depuis l'App Store - l'exécution de cette opération permet de poursuivre l'installation).

Installation de

https://github.com/kennethreitz/osx-gcc-installer/downloads may help for installing GCC.

Mettre en place CC dans

plus /Users//.bash_profile

bash-3.2$ more /Users/<USERNAME>/.bash_profile 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
export CC=/usr/share/TargetConfigs/bin/gcc

La première ligne provient des instructions d'installation de SiriProxy. https://github.com/plamoni/SiriProxy

L'export CC de 2ème ligne n'a jamais semblé fonctionner. Alors n'ajoutez pas.

Il y avait de nombreuses versions qui pointaient chacune J'ai finalement utilisé CC=/usr/bin/gcc-4.2 rvm install 1.9.3 --enable-shared

2voto

Une partie du problème est qu'avec Mac OS X 10.7 (Lion), Apple a changé de compilateur C, et certaines choses ne se construisent pas encore bien avec le nouveau compilateur (LLVM). Voir http://eddorre.com/posts/rails-ultimate-install-guide-on-os-x-lion-using-rvm-homebrew-and-pow pour des instructions décentes (note : je n'ai pas suivi ces instructions exactes, mais elles résument assez bien les choses que j'ai faites). a fait pour que Rails fonctionne sur Lion).

Une fois que vous avez réglé le problème du compilateur C, tout le reste devrait être assez facile.

Conseil bonus : évitez MySQL. PostgreSQL est meilleur à presque tous les égards.

0 votes

De plus, vous n'avez pas besoin de Pow pour commencer. Si vous voulez simplement suivre les instructions pour construire Ruby, {My|Postgre}SQL et Rails, c'est parfait.

1 votes

J'ai suivi les instructions et téléchargé Ruby, après quoi RVM a essayé de l'installer et a obtenu une erreur disant qu'il manque les en-têtes zlib, openssl et les en-têtes de développement GNU. Vraiment, je viens de Windows et .NET, je dois compiler les sources pour simplement commencer dans un langage est un peu absurde pour moi. hehehehehehe

1 votes

Qu'y a-t-il d'absurde à construire à partir des sources ? Dans le monde Unix, beaucoup de choses sont disponibles sous forme de binaires précompilés, mais certaines choses ne le sont pas. Qu'est-ce que est L'absurde est que le processus de construction est difficile, mais il faut mettre cela sur le compte d'un changement récent de compilateur et de paquets qui n'ont pas encore rattrapé le retard.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X