in my mac OSX 10.6 32 bit, I can install mysql2 gem quite easily, but not in mini mac 10.6 64bit server.
I have installed MySQL 5.5.11 in troublesome server, while i
for people who didn't use brew to install mysql and use mysql 5.6 and higher:
according to this answer
you need to edit mysql_config
which was placed in my case here: /usr/local/mysql-5.6.12-osx10.7-x86_64/bin
and change cflags
and cxxflags
to:
cflags="-I$pkgincludedir -Wall -Os -g -fno-strict-aliasing -DDBUG_OFF " #note: end space!
cxxflags="-I$pkgincludedir -Wall -Os -g -fno-strict-aliasing -DDBUG_OFF " #note: end space!
after this manipulations
$ gem install mysql2 -v '0.3.13'
goes flawlessly
This method is for Rails 3.1.0 (and hopefully up) on 64 bit machine. I used on Ruby-1.9.2-p180.
This blog answered it: http://www.tatvartha.com/2010/10/installing-mysql-gem-with-bundler-on-snow-leopard/
Basically, the method above: $ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
may work, but without bundler.
To do it with bundler, first must run this on terminal:
bundle config build.mysql2 --with-mysql-config=/usr/local/mysql/bin/mysql_config
Note "mysql2" not "mysql" as shown in that blog.
That adds a config to ~/.bundle/config file
Then add this to ~/.bash_profile:
export ARCHFLAGS="-arch x86_64"
That is the same with telling bundler to run the command on top of this post.
For those on Fedora 21, and you already installed mysql-devel:
yum install redhat-rpm-config
solved the problem for me. see: redhat docs
Ok guys for me the solution was:
$ sudo brew install mysql
$ sudo env ARCHFLAGS="-arch i386" gem install mysql -- \
--with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
--with-mysql-include=/usr/local/mysql/include
source: http://wonko.com/post/how-to-install-the-mysqlruby-gem-on-mac-os-x-leopard
OR :
$sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- \
--with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib \
--with-mysql-include=/usr/local/mysql/include
If your mysql version is 64Bits
After that i had a lot of problems because if i want to create the database:
$: bundle exec rake db:reset
i was receiving this error:
dyld: lazy symbol binding failed: Symbol not found: _mysql_init
Referenced from: /Users/workdreamer/Sites/cavortify/implementation/cavortify/mysql/ruby/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle
Expected in: flat namespace
dyld: Symbol not found: _mysql_init
Referenced from: /Users/workdreamer/Sites/cavortify/implementation/cavortify/mysql/ruby/1.8/gems/mysql-2.8.1/lib/mysql_api.bundle
Expected in: flat namespace
The solution is: On your gemfile add: gem "ruby-mysql"
Ok, one day and a half to find the solution.
Have a nice day!
My problem was the result of first installing MySql via the downloadable binary. It was originally installed at version 5.5.28. I then attempted to install via homebrew. Brew installed version 5.6.x. HOWEVER in the process of installing via homebrew, the symlink for /usr/local/mysql was still pointed to 5.5.28.
Update your symlink to whichever version was installed via homebrew.
ex: /usr/local/mysql -> /usr/local/Cellar/mysql/5.6.13/
This could be just part of the solution.
For mariadb:
sudo apt-get install libmariadbclient18 libmariadbclient-dev
Then
gem install mysql2
could be successfully installed.