Solucionar problema al instalar la gema mysql2 con compilador gcc 64bits en Mac OS X 10.8.4

Hoy está siendo un día productivo como podéis ver, y eso que estamos hablando sólo de problemas…pero problemas solucionados. El que aquí os detallo se trata de un error que me ha dado mi proyecto en RoR a la hora de hacer la instalación de las gemas a través de bundle install. El error está relacionado con la gema mysql2 y la traza es la siguiente:

ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.

/Users/[usuario]/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby extconf.rb
checking for rb_thread_blocking_region()… no
checking for rb_wait_for_single_fd()… no
checking for mysql.h… no
checking for mysql/mysql.h… no
—–
mysql.h is missing. please check your installation of mysql and try again.
—–
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
–with-opt-dir
–without-opt-dir
–with-opt-include
–without-opt-include=${opt-dir}/include
–with-opt-lib
–without-opt-lib=${opt-dir}/lib
–with-make-prog
–without-make-prog
–srcdir=.
–curdir
–ruby=/Users/[usuario]/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby
–with-mysql-config
–without-mysql-config

es bastante larguete como podéis ver, pero la solución es muy fácil.

Os pongo en conocimiento que en mi ordenador tengo instalado MySQL desde el centro oficial de descargas de Oracle/MySQL, NO ESTÁ INSTALADO CON HOMEBREW. Los pasos a seguir son los siguientes:

1. Editar el archivo /usr/local/mysql/bin/mysql_config

2. Buscar y sustituir las líneas:

cflags=”-I$pkgincludedir -Wall -Wno-null-conversion -Wno-unused-private-field -Os -g -fno-strict-aliasing -DDBUG_OFF -arch x86_64 ” #note: end space!

cxxflags=”-I$pkgincludedir -Wall -Wno-null-conversion -Wno-unused-private-field -Os -g -fno-strict-aliasing -DDBUG_OFF -arch x86_64 ” #note: end space!

(están sobre la línea 120 o así),

por las siguientes:

cflags=”-I$pkgincludedir -Wall -Os -g -fno-strict-aliasing -DDBUG_OFF -arch x86_64 ” #note: end space!

cxxflags=”-I$pkgincludedir -Wall -Os -g -fno-strict-aliasing -DDBUG_OFF -arch x86_64 ” #note: end space!

3. Guardamos y volvemos a ejecutar $>bundle install

Facil, ¿no?

Acerca de

Ingeniero Informático. RoR Developer

Publicado en Informática, Ruby on Rails

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: