2012-07-27 16 views
7

La computadora de nuestro interno tiene problemas para instalar la gema mysql2. Acabamos de actualizar su computadora de OS X 10.6 a 10.8 (Mountain Lion). He intentado instalar mysql a través de homebrew y a través del instalador DMG de 64 bits. También probé el enlace simbólico a las herramientas de desarrollo (como se señala aquí: Not able to install some gems after mountain lion upgrade). Tenemos Xcode (4.4) instalado y las herramientas de línea de comandos instaladas. Intentamos reiniciar después de instalar las herramientas de línea de comandos.gema mysql2 No se pueden construir extensiones nativas

Ésta es su declaración de PATH ~/.bashrc:

PATH=/usr/local/bin:$PATH:$HOME/.rvm/bin:/usr/local/mysql/bin # Add RVM to PATH for scripting 

enlace simbólico:

Diego-Blantons-MacBook-Pro-3:~ lmrunner07$ sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2 
Password: 

intenta instalar la gema:

Diego-Blantons-MacBook-Pro-3:~ lmrunner07$ gem install mysql2 
Building native extensions.  This could take a while... 
ERROR:  Error installing mysql2: 
   ERROR: Failed to build gem native extension. 

       /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb 
checking for rb_thread_blocking_region()... yes 
checking for rb_wait_for_single_fd()... yes 
checking for mysql.h... yes 
checking for errmsg.h... yes 
checking for mysqld_error.h... yes 
creating Makefile 

make 
compiling client.c 
In file included from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby.h:32, 
                from ./mysql2_ext.h:8, 
                from client.c:1: 
/Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:105: error: size of array ‘ruby_check_sizeof_long’ is negative 
/Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:109: error: size of array ‘ruby_check_sizeof_voidp’ is negative 
In file included from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/intern.h:34, 
               from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/ruby.h:1382, 
                from /Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby.h:32, 
                from ./mysql2_ext.h:8, 
                from client.c:1: 
/Users/lmrunner07/.rvm/rubies/ruby-1.9.3-p194/include/ruby-1.9.1/ruby/st.h:67: error: size of array ‘st_check_for_sizeof_st_index_t’ is negative 
client.c: In function ‘rb_raise_mysql2_error’: 
client.c:98: warning: ISO C90 forbids mixed declarations and code 
client.c: In function ‘rb_mysql_client_socket’: 
client.c:590: warning: ISO C90 forbids mixed declarations and code 
make: *** [client.o] Error 1 


Gem files will remain installed in /Users/lmrunner07/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11 for inspection. 
Results logged to /Users/lmrunner07/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/ext/mysql2/gem_make.out 

He quitado el Homebrew instalado MySQL, así como el agente de lanzamiento. También rm -rf el directorio de la gema (Usuarios/lmrunner07/.rvm/joyas/Ruby-1.9.3-P194/joyas/mysql2-0.3.11)

+0

puede verificar que la versión de Xcode 4.4 es el re-lanzamiento para ambos Lion y Mountain Lion? – davidcelis

+0

Disculpe, ¿qué le gustaría que verificara? –

+0

Cuando se lanzó Mountain Lion, actualizaron Xcode 4.4 en la tienda de aplicaciones para que sea una versión compatible tanto con Lion como con Mountain Lion. Si no reinstaló Xcode, es probable que tenga la versión que solo es compatible con las versiones anteriores de OS X. – davidcelis

Respuesta

5

que resolvió este problema:

  1. Instalación homebrew ruby <(curl -fsSk https://raw.github.com/mxcl/homebrew/go) (echa un vistazo a su página web, para uso http://mxcl.github.com/homebrew/)
  2. Siguiendo estas instrucciones http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
  3. Reinstalación de MySQL con homebrew brew install mysql. (He intentado instalar MySQL por seguir estas instrucciones http://erictarn.com/post/28269453881/how-i-installed-mysql-rvm-ruby-and-rails-on-mountain pero me encontré con problemas más adelante, así que recomiendo volver a instalar MySQL con homebrew.)
  4. Reinstalación RVM y los carriles y las gemas para mi proyecto (que incluía mysql2)

Nota: (. consulte Library not loaded: libmysqlclient.16.dylib error when trying to run 'rails server' on OS X 10.6 with mysql2 gem si obtiene el mismo número) Cuando traté de construir que tenía un problema de biblioteca, Library not loaded: libmysqlclient.18.dylib, que se fijó mediante la ejecución de sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

+0

El interno está fuera hoy, así que no puedo probar esto. Si funciona, volveré con los puntos. Gracias por los enlaces –

+0

El enlace en el paso 2 lo hizo. No estoy seguro de qué paso lo hizo, ¡pero gracias! –

+0

sin preocupaciones. gracias por los puntos. estoy contento de que funcionó. me tomó muchas horas resolverlo yo mismo. pensé que debería compartir – Harro

0

Ha intentado:

gem install mysql2 --with-mysql-config=/usr/lib64/mysql/mysql_config 

Vuelva a colocar la /usr/lib64/mysql/mysql_config con la ubicación de tu configuración de mysql

+0

Creo que el comando es: 'gem install mysql2 - --with-mysql-config =/usr/lib64/mysql/mysql_config'?(extra '--') Obtuve el mismo resultado, aunque –

0

Lamentablemente, el proceso de instalación está muy segmentado y es difícil aislar cuál podría ser su problema sin mirar en general sus pasos.

Sin saber más acerca de sus pasos de instalación, aquí hay algunas notas que seguí que me llevaron a una caja de desarrollo de Rails Mountain Lion estable (una vez más, me disculpo porque esto no es más específico).

  1. Instrucciones de RVM, Ruby: moncefbelyamani.com

    Nota: Es cierto que existen pasos aquí que me llevó a través de las sugerencias de brew doctor y 'rvm requirements' nunca he tomado en configuraciones anteriores.

    notas como:

    • Xcode 4.3 + solamente usar ruby-1.9.3-p125 + (y me dicen si tuviera problemas de compilación de rebajar a Xcode 4.1)
    • Usando brew install autoconf automake apple-gcc42
    • usando brew tap homebrew/dupes
    • y otros ...
  2. rieles instrucciones específicas: railsapps.github.com

  3. para MySQL (saltar a la parte de la instalación de MySQL: coolestguyplanettech.com

Nota: Hice el paso opcional: ... con el fin de utilizar los comandos de MySQL sin necesidad de escribir la ruta completa a los comandos que necesita para agregar el directorio mysql a su ruta de shell ...como yo he encontrado que al hacerlo puede ayudar durante construye, etc (algunos scripts asumen ...)

Aquí, he intentado simplemente crear una nueva aplicación rieles con la base de datos por defecto es MySQL (que hizo caer a través de mysql2 paquete). A partir de ahí, traté de hacer una aplicación de prueba con un andamio rápido, y mysql2 brotó.

partir de ahí me golpeó un error 'biblioteca no cargado: libmysqlclient.16.dylib' y como se ha señalado aquí: stackoverflow awesomeness que añade esta línea a mi .profile: export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH

MI CAMINO incluye rieles y rubí de forma explícita :/Users/gabriel/.rvm/gems/[email protected]/bin:/Users/gabriel/.rvm/gems/[email protected]/bin:/Users/gabriel/.rvm/rubies/ruby-1.9.3-p194/bin:/Users/gabriel/.rvm/bin:/usr/local/mysql/bin:/usr/local/bin:/usr/bin:/usr/sbin:/opt/X11/bin:

Afortunadamente, estos recursos proporcionarán ayuda adicional.

+0

El interno ha salido hoy, así que no puedo probar esto. Si funciona, volveré con los puntos. Gracias por los enlaces –

0

yo era capaz de conseguir que para compilar ejecutando: PATH =/bin:/usr/bin:/opt/mysql5_64/bin gem install mysql2 W aquí mysql5_64 descargué la última versión de 64 bits de mysql y extraje allí. Dejando intactas mis bases de datos mysql ya instaladas.

0

Pude arreglar esto por implode -ing rvm e instalando el ruby ​​de Homebrew. Entonces, la gema mysql2 se instaló muy bien.

Este no es el primer problema como este que he encontrado con rvm. No creo que lo use de nuevo.

0

que tenía esta funciona con éxito en OSX Yosemite:

sudo port install mysql56 
gem install mysql2 -- --with-mysql-config=/opt/local/lib/mysql56/bin/mysql_config 
Cuestiones relacionadas