2012-07-29 20 views
14

Acabo de actualizar a OS X Mountain Lion (ya me arrepiento).OS X 10.8 - error al intentar ejecutar '/usr/bin/i686-apple-darwin11-gcc-4.2.1' - instalar json gema

Tiene problemas para instalar las extensiones nativas de la gema json.

Antes de 10.8 tenía instaladas las herramientas de línea de comandos. RVM con Ruby 1.9.2.

pasaron a 10.8 e hizo el siguiente material:

  • sudo chown -R whoami/usr/local
  • actualización de cerveza
  • cerveza del grifo homebrew/dupes
  • cerveza instalar manzana-gcc42
  • XCode instalado 4.4
  • Herramientas de línea de comandos instaladas para Xcode 4.4
  • exportación CC =/usr/local/bin/gcc-4.2 en bash_profile
  • sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2
  • edit: sudo xcode- seleccione /Applications/Xcode.app/Contents/Developer -switch

sigo teniendo la siguiente salida al instalar la gema JSON:

➽ gem install json -v '1.7.4' 
Building native extensions. This could take a while... 
ERROR: Error installing json: 
    ERROR: Failed to build gem native extension. 

     /Users/vincent/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb 
creating Makefile 

make 
/usr/bin/gcc-4.2 -I. -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/ruby/backward -I/Users/vincent/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1 -I. -DJSON_GENERATOR -I/Users/vincent/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long -fno-common -pipe -O3 -Wall -O0 -ggdb -o generator.o -c generator.c 
gcc-4.2: error trying to exec '/usr/bin/i686-apple-darwin11-gcc-4.2.1': execvp: No such file or directory 
make: *** [generator.o] Error 255 


Gem files will remain installed in /Users/vincent/.rvm/gems/[email protected]/gems/json-1.7.4 for inspection. 
Results logged to /Users/vincent/.rvm/gems/[email protected]/gems/json-1.7.4/ext/json/ext/generator/gem_make.out 

Cualquier ayuda aquí? ¿Cómo puedo depurar mi env de compilación? No es un experto en lo que respecta a esto, pero creo que el instalador de json gema está ignorando mi entorno, ya que está utilizando una versión de GCC que no existe en mi sistema y el instalador de brew tampoco la crea.

➽ gcc-4.2 
i686-apple-darwin11-gcc-4.2.1: no input files 

➽ which gcc-4.2 
/usr/local/bin/gcc-4.2 

➽ ls /usr/bin/i686-apple-darwin11-gcc-4.2.1 
ls: /usr/bin/i686-apple-darwin11-gcc-4.2.1: No such file or directory 

También probé a symlinking ➽ sudo link /usr/local/bin/gcc-4.2 /usr/bin/i686-apple-darwin11-gcc-4.2.1. Pero eso dio un error de tiempo de espera vfork.

edición:

➽ brew doctor 
gcc-4.2: error trying to exec '/usr/bin/i686-apple-darwin11-gcc-4.2.1': execvp: No such file or directory 
Warning: X11 is not installed. 
You don't have X11 installed as part of your OS X installation. 
This is not required for all formulae, but is expected by some. 
You can download the latest version of XQuartz from: 
    https://xquartz.macosforge.org 

Edit2:

fueron corriendo XCode Xcode de selección

Edit3:

sudo xcode-select -switch /usr/bin 
sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 

Este arreglaron! Básicamente le dices a OS X que compile usando la carpeta/usr/bin y luego vinculas el compilador llvm-gcc-4.2 a donde solía estar el anterior. ¡Trabajos! BAM!

fuente: http://jtimberman.housepub.org/blog/2012/02/26/xcode-command-line-tools/

Respuesta

29

estoy bajo la impresión de que todo lo que tiene que hacer es:

sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 

he intentado con XCode Xcode de selección y las herramientas de línea de comandos. Ambos trabajan. También desinstalé el brew apple-gcc42 y todavía funciona. CC de exportación tampoco es necesario.

Así que, básicamente, solo el enlace. Espero que esto solucione algunos problemas que la gente está teniendo.

+0

¡Funciona para mí! Gracias ..... – rizidoro

+0

np. me alegro de poder ayudar. – SpoBo

+0

+1 muchas gracias. – botbot

2

¿Se ha quedado:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 

Tener que usar el sistema de Xcode suministra herramientas de línea de comandos?

Un poco más en este SO answer.

+0

Disculpas. De hecho, yo corrí eso. No estaba en mi lista de cosas que hice. Solo para estar seguro, lo hice de nuevo y aún no he recibido ningún dado. Pero eso es esperado ya que XCode ya no incluye gcc-4.2. Solo LLVM Actualizaré mi pregunta. – SpoBo

+0

OMGWTFBBQ !!!! ¡Lo encontré! Voy a actualizar. Sin embargo, tu respuesta me empujó en la dirección correcta. – SpoBo

2
sudo xcode-select -switch /usr/bin 
sudo ln -sf /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 
0

aún más simple enfoque .. Me acaba de arreglar el problema de raíz mediante la edición del archivo rbconfig.rb ~/.rvm/rubíes/Ruby-1.9.3-P327/lib/ruby ​​/ 1.9.1/x86_64- darwin12.2.0

por alguna razón que el archivo se está configurando para usar gcc-4.2 para CC en lugar de solo plan gcc (que es llvm-gcc-4.2).

Cuestiones relacionadas