Горный лев rvm установить 1.8.7 X11 ошибка
после обновления до Mountain Lion, я попытался установить 1.8.7, и я получил ошибку. Файл X11 не найден, я установил Xquarkz, но ничего не изменилось. Что случилось?
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 <X11/Xlib.h>
^
1 error generated.
make[1]: *** [stubs.o] Error 1
make: *** [all] Error 1
5 ответов:
попробуйте установить X11 через http://xquartz.macosforge.org/landing/ установите правильный путь к библиотеке X11 для компилятора с помощью:
export CPPFLAGS=-I/opt/X11/include
затем попробуйте переустановить ruby, перейдя к компилятору, где gcc-4.2:
CC=/usr/local/bin/gcc-4.2 rvm reinstall 1.8.7
без
CC
у меня много ошибок сегментации.
мне удалось сделать следующее на OSX 10.8.2 без проблем:
rvm install 1.8.7 --with-gcc=clang --without-tcl --without-tk
Если вам не нужен tcl или tk и вы используете rbenv, это должно работать:
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
даже после исправления X11 я получал эту ошибку компиляции.
compiling stubs.c In file included from stubs.c:16: /usr/include/tk.h:23:3: error: #error Tk 8.5 must be compiled 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
после Большого царапания головы я заметил эту строку в выводе make.
Use ActiveTcl libraries (if available).
оказывается, у меня был установлен ActiveTcl 8.4 несколько лет назад, но он собирал tk.h из /usr / include, который является версией 8.5.
Я не мог понять, как безопасно удалить ActiveTcl и ActiveTcl инструкции по удалению не были правильными, но я установил ActiveTcl 8.5 и это помогло обойти проблему. Скачать ActiveTcl здесь.
разочарование. В любом случае надеюсь, что это поможет кому-то еще.
вот мой .rvmrc загрузочный файл на данный момент, надеюсь, что это поможет:
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