问题
I had a fresh install of Mountain Lion and installed the Xcode Command Line Tools, . I was able to get homebrew running and installed RVM. Unfortunately, I can't get RVM to install ree-1.8.7-head. It fails when compiling. I thought it was related to X11, so I installed XQuartz. Still no joy. Then I went ahead and installed the full Xcode from the app store. Still no joy. Anyone gotten this going on a fresh Mountain Lion install?
From the bottom of the .rvm/log/ree-1.8.7-head/make.log:
Find Tcl/Tk libraries. Make tcltklib.so which is required by Ruby/Tk.
gcc -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-02-08\" -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -DWITH_TCL_ENABLE_THREAD=0 -fno-common -g -O2 -pipe -fno-common -c stubs.c
In file included from stubs.c:10:
/usr/include/tk.h:78:23: error: X11/Xlib.h: No such file or directory
In file included from stubs.c:10:
/usr/include/tk.h:549: error: expected declaration specifiers or ‘...’ before ‘Window’
/usr/include/tk.h:549: error: ‘Window’ declared as function returning a function
. .
/usr/include/tkDecls.h:1240: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute
__’ before ‘Tk_GetBitmapFromObj’
/usr/include/tkDecls.h:1245: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/tkDecls.h:1356: error: expected ‘)’ before ‘*’ token
/usr/include/tkDecls.h:1362: error: expected ‘)’ before ‘*’ token
/usr/include/tkDecls.h:1387: error: expected declaration specifiers or ‘...’ before ‘GC’
/usr/include/tkDecls.h:1399: error: expected declaration specifiers or ‘...’ before ‘GC’
/usr/include/tkDecls.h:1413: error: expected declaration specifiers or ‘...’ before ‘Pixmap’
/usr/include/tkDecls.h:1420: error: expected declaration specifiers or ‘...’ before ‘XColor’
/usr/include/tkDecls.h:1448: error: expected declaration specifiers or ‘...’ before ‘Pixmap’
/usr/include/tkDecls.h:1524: error: expected ‘)’ before ‘*’ token
/usr/include/tkDecls.h:1621: error: expected declaration specifiers or ‘...’ before ‘Drawable’
/usr/include/tkDecls.h:1656: error: expected ‘)’ before ‘*’ token
/usr/include/tkDecls.h:1661: error: expected ‘)’ before ‘*’ token
/usr/include/tkDecls.h:1692: error: expected specifier-qualifier-list before ‘XColor’
make[1]: *** [stubs.o] Error 1
make: *** [all] Error 1
回答1:
try
rvm reinstall 1.8.7 --without-tcl --without-tk
but still your problem might to be related to gcc-4.2 -> it's required for MRI ruby, there are some successes with llvm/clang, but still it fails with Fibers
回答2:
If you don't need tcl or tk and are using rbenv, this should work:
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
来源:https://stackoverflow.com/questions/11660673/install-ree-1-8-7-with-rvm-on-mountain-lion