2012-09-11 13 views
14

Ho aggiornato rvm a 1.15.8, quindi sono tornato giù a 1.15.7 dopo aver avuto alcuni problemi in zsh. Dopo il downgrade, le mie versioni Ruby 1.9+ sono tornate in ordine, ma 1.8.7 non si installerà più.rvm non può più installare 1.8.7-p352 su Mac OS X Mountain Lion

ci sono due errori che si stanno verificando:

Error running 'patch -F 25 -p1 -N -f <"/Users/me/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch"', please read /Users/me/.rvm/log/ruby-1.8.7-p352/patch.apply.stdout-rouge-fix.log 

Il contenuto di questo file sono:

[2012-09-11 01:05:59] patch -F 25 -p1 -N -f <"/Users/me/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch" 
patching file lib/mkmf.rb 
Hunk #1 FAILED at 201. 
1 out of 1 hunk FAILED -- saving rejects to file lib/mkmf.rb.rej 

e:

Error running 'make ', please read /Users/me/.rvm/log/ruby-1.8.7-p352/make.log 

C'è stato un errore durante l'esecuzione fare . Arresto dell'installazione.

e il contenuto di tale file sono (solo le prime righe che iniziano con gli errori):

Fail to find [tclConfig.sh, tkConfig.sh] 
Use MacOS X Frameworks. 

Find Tcl/Tk libraries. Make tcltklib.so which is required by Ruby/Tk. 
gcc-4.2 -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=\"2011-06-30\" -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: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/tk.h:552: error: expected declaration specifiers or ‘...’ before ‘XEvent’ 
/usr/include/tk.h:561: error: expected specifier-qualifier-list before ‘Tk_ClassCreateProc’ 
/usr/include/tk.h:655: error: expected specifier-qualifier-list before ‘Bool’ 
/usr/include/tk.h:677: error: expected specifier-qualifier-list before ‘Bool’ 
/usr/include/tk.h:756: error: expected specifier-qualifier-list before ‘Display’ 
/usr/include/tk.h:902: error: expected declaration specifiers or ‘...’ before ‘XPoint’ 
/usr/include/tk.h:996: error: expected declaration specifiers or ‘...’ before ‘Display’ 

una delle applicazioni che supporto è 1.8.7. Sono morto nell'acqua. Sembra che potrebbe essere un problema con Mountain Lion vs RVM. Qualcuno può indicarmi la giusta direzione?

UPDATE:

ho superato il primo errore facendo "reinstallare" invece di "installa". Anche se 1.8.7-p352 non era nella lista dei rubini dati dal comando "rvm list rubies".

+0

Forse dovresti postare questo messaggio su http://serverfault.com/ o http://superuser.com/ – maxdec

+0

@Double rispondo alla maggior parte delle domande RVM - e la maggior parte di esse sono pubblicate qui - pubblicandole altrove probabilmente più tempo per ottenere una risposta. – mpapis

risposta

33

è un problema nel rilevare tcl/tk da rubino 1.8.7, la soluzione è disattivarlo:

rvm reinstall 1.8.7 --without-tcl --without-tk 

altra soluzione quando è necessaria Tcl/tk: https://stackoverflow.com/a/11666019/497756

+0

Che cos'è tcl/tk? Come faccio a sapere se ne avrò bisogno? Modifica: ho solo bisogno di tcl e tk quando voglio costruire una GUI rubino? (http://rubylearning.com/satishtalim/ruby_tk_tutorial.html) – crispy

+0

se non sapessi cosa sono, allora non ne hai bisogno, è davvero vecchio e raramente è usato perché le interfacce sono molto brutte – mpapis

+0

Sembra un pessima idea di includerli di default. – tadman

6

Credo finito con due domande simili su sf qui. Il mio problema principale era che il file tcl.h include su Mountain Lion (posizione: /usr/include/tcl.h symlinked) non poteva risolvere un riferimento interno che aveva a "X11/Xlib.h". Ho pensato che l'installazione di tcl e tk tramite homebrew avrebbe risolto il problema generando un percorso per Xlib.h che poteva essere risolto. Così mi sono imbattuto:

brew install tcl 

e:

brew install tk 

e:

rvm remove 1.8.7-p352 
rvm install 1.8.7-p352 

e ha funzionato. Ma la risposta di Michal sopra avrebbe funzionato altrettanto bene, penso. Questa risposta servirà per aiutare le persone a costruirlo che hanno bisogno di tcl e tk.

+0

Homebrew non sembra più avere tcl e tk. –

+0

'brew install homebrew/dupes/tcl-tk' dovrebbe funzionare, credo. –

Problemi correlati