Erreur Mountain Lion rvm install 1.8.7 x11

Après la mise à jour de Mountain Lion, j’ai essayé l’installation 1.8.7, et j’ai eu une erreur. Fichier X11 introuvable, j’ai installé Xquarkz, mais rien n’a changé. Qu’est-ce qui ne va pas?

Fail to find [tclConfig.sh, tkConfig.sh] Use MacOS X Frameworks. Find Tcl/Tk libraries. Make tcltklib.so which is required by Ruby/Tk. clang -I. -I../.. -I../../. -I../.././ext/tk -DHAVE_RB_SAFE_LEVEL -DHAVE_RB_HASH_LOOKUP -DHAVE_RB_PROC_NEW -DHAVE_RB_OBJ_TAINT -DHAVE_ST_PTR -DHAVE_ST_LEN -DRUBY_VERSION=\"1.8.7\" -DRUBY_RELEASE_DATE=\"2012-06-29\" -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -DWITH_TCL_ENABLE_THREAD=0 -fno-common -g -O2 -fno-common -pipe -fno-common -c stubs.c In file included from stubs.c:10: /usr/include/tk.h:78:11: fatal error: 'X11/Xlib.h' file not found # include  ^ 1 error generated. make[1]: *** [stubs.o] Error 1 make: *** [all] Error 1 

Essayez d’installer X11 via http://xquartz.macosforge.org/landing/ définissez le chemin d’access correct à la bibliothèque X11 pour le compilateur avec:

 export CPPFLAGS=-I/opt/X11/include 

puis essayez de réinstaller ruby, en passant au compilateur où gcc-4.2 est:

 CC=/usr/local/bin/gcc-4.2 rvm reinstall 1.8.7 

Sans CC j’ai eu beaucoup de défauts de segmentation.

J’ai réussi à suivre OSX 10.8.2 sans problème:

 rvm install 1.8.7 --with-gcc=clang --without-tcl --without-tk 

Si vous n’avez pas besoin de tcl ou de tk et que vous utilisez rbenv, cela devrait fonctionner:

 brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb CC=/usr/local/bin/gcc-4.2 CONFIGURE_OPTS="--without-tcl --without-tk" rbenv install 1.8.7-p358 

Même après le correctif X11, j’obtenais cette erreur de compilation.

 compiling stubs.c In file included from stubs.c:16: /usr/include/tk.h:23:3: error: #error Tk 8.5 must be comstackd with tcl.h from Tcl 8.5 make[2]: *** [stubs.o] Error 1 make[1]: *** [ext/tk/all] Error 2 make: *** [build-ext] Error 2 

Après beaucoup de grattage, j’ai remarqué cette ligne dans la sortie make.

 Use ActiveTcl libraries (if available). 

Il se trouve que j’ai installé ActiveTcl 8.4 installé il y a des années, mais il récupérait tk.h de / usr / include qui est la version 8.5.

Je ne pouvais pas comprendre comment désinstaller en toute sécurité ActiveTcl et les instructions de désinstallation d’ActiveTcl n’étaient pas correctes , mais j’ai installé ActiveTcl 8.5 et celui qui contournait le problème. ActiveTcl Télécharger ici.

Frustrant. En tout cas, j’espère que cela aidera quelqu’un d’autre.

Voici mon fichier de démarrage .rvmrc pour le moment, j’espère que cela vous aidera:

 if (uname -a | grep '12.0.0 Darwin' >/dev/null); then CC=/usr/local/bin/gcc-4.2 CPPFLAGS=-I/opt/X11/include rvm --install --create --disable-tcl --disable-tk use ree@gemset_name else rvm --install --create --disable-tcl --disable-tk use ree@gemset_name fi if ! which bundle >/dev/null; then gem install bundler --pre --no-ri --no-rdoc && bundle install fi if ! bundle check >/dev/null; then bundle install fi