I'm running OSX 10.7 (Lion), and recently uninstalled MacPorts because MySQL failed to start. MySQL (64-bit) is now starting, but now I can't install the MySQL gem (Rails). I've tried using the with-mysql-config
and the ARCHFLAGS
option, neither of which worked. I tried reinstalling Ruby 1.9.3, which also didn't change anything. I'm currently running MySQL 5.1.61 after I thought MySQL 5.0.95 might be causing an issue. Here is the traceback:
Christy$ gem install mysql2
Building native extensions. This could take a while...
ERROR: Error installing mysql2:
ERROR: Failed to build gem native extension.
/Users/Christy/.rvm/rubies/ruby-1.9.3-p0/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
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
compiling mysql2_ext.c
compiling result.c
linking shared-object mysql2/mysql2.bundle
ld: file not found: /opt/local/lib/libssl.1.0.0.dylib for architecture x86_64
collect2: ld returned 1 exit status
make: *** [mysql2.bundle] Error 1
I tried reinstalling openssl (thinking that file not found: /opt/local/lib/libssl.1.0.0.dylib
might be because of that), but it still doesn't work. I'm kind of new to this, so any help would be much appreciated! Thank you!
EDIT: /opt/local/lib/
does not exist. I don't know why it's looking there for the file. Any ideas on how to point it to the right place (locate libssl
points to /usr/lib/libssl.0.9.8.dylib
and /usr/local/Cellar/openssl/0.9.8s/lib/libssl.0.9.8.dylib
, among other places)?
My problem was similar and it turned out that I had installed mysql with brew while macports was still installed. After fully uninstalling macports I then uninstalled and reinstalled mysql with brew:
brew uninstall mysql
brew install mysql
LD_LIBRARY_PATH has a bad path in it. Can temporarily set it for that shell by running export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib ; gem install mysql2
.
However, might suggest adding the definition to your .bashrc (or other appropriate .shellrc file) export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib
so all shells get it.
I had to set the path to my mysql installation which was 5.1. Doing this, then it worked:
export ARCHFLAGS="-arch x86_64"
export PATH=$PATH:/opt/local/lib/mysql51/bin
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With