Install ree-1.8.7 with RVM on Mountain Lion [dupli

2019-03-25 10:45发布

问题:

This question already has an answer here:

  • Mountain Lion rvm install 1.8.7 x11 error 5 answers

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