Mysql gem install not happening on Mac OS Leopard - any inputs at all?

Hello all,

Ive got Mac OS X Leopard (10.5.8), ruby 1.8.6 (2009-06-08 patchlevel
369) [universal-darwin9.0] and mysql 5.0.67 installed and working fine
with Rails 2.1.0.

“which ruby” outputs /usr/bin/ruby. I can see the mysql symlink in /
usr/local/mysql. I can also see the mysql-5.0.67-osx10.5-x86 folder
in /usr/local .

Im trying to upgrade my Rails apps to 2.3.5 but when i try to install
the mysql gem, I get “ERROR: Failed to build gem native extension.” I
tried all the following commands with and without sudo and get the
same error everytime

env ARCHFLAGS="-arch i386" gem install mysql – --with-mysql-config=/usr/local/mysql/bin/mysql_config
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
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 --with-mysql-config=/usr/local/mysql/bin/mysql_config
env ARCHFLAGS="-arch i386" gem install mysql --with-mysql-dir=/usr/local/mysql
gem install mysql – --with-mysql-dir=/usr/local/mysql
gem install mysql – --with-mysql-config=/usr/local/mysql/bin/mysql_config

Im not sure what Im doing wrong. Am I supposed to uninstall the
existing mysql and reinstall the latest (5.1.x) before I install the
mysql gem? Or are my ruby and mysql paths screwed up? Ive googled a
lot and tried all the suggestions (as you can see above) but none
work.

I raised this issue already in the group but no replies yet. So I’ve
reframed it in a simpler fashion. Even if noone knows the solution
right away, I’d really appreciate any inputs at all.

Thanks!

I also get this warning in the very beginning of the gem install. Does
it have any relevance?

WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
/usr/bin aren’t both writable.
WARNING: You don’t have /Users/Ram/.gem/ruby/1.8/bin in your PATH,
gem executables will not run.

On Tue, Jun 15, 2010 at 1:41 AM, Ram [email protected] wrote:

Ive got Mac OS X Leopard (10.5.8), ruby 1.8.6 (2009-06-08 patchlevel
369) [universal-darwin9.0] and mysql 5.0.67 installed and working fine
with Rails 2.1.0.

Im trying to upgrade my Rails apps to 2.3.5 but when i try to install
the mysql gem

If it was “working fine with Rails 2.1.0” and you’re just upgrading
Rails
itself, why are you trying to (re-)install the mysql gem?


Hassan S. ------------------------ [email protected]
twitter: @hassan

Im not re-installing the mysql gem. I have been using the Ruby based
mysql library that used to ship with Rails by default (pre 2.2). If I
am to migrate to Rails 2.3 then I HAVE to install the gem now.

On Jun 16, 8:58 pm, Hassan S. [email protected]

:S

Im not comfortable uninstalling everything and installing it from
scratch again. Dont want to lose my existing setup. Pointers from
anyone at all?

On Jun 16, 12:07 pm, Ram [email protected] wrote:

:S

Im not comfortable uninstalling everything and installing it from
scratch again. Dont want to lose my existing setup. Pointers from
anyone at all?

There should be a log file detailing what went wrong when it tried to
build the gem. What’s in it?

Fred

On Jun 17, 9:58 am, Ram [email protected] wrote:

Hello Fred,

I can see the following errors in the mkmf.log residing in …/
mysql-2.8.1/ext/mysql_api/ .

dumb question: do you have the apple developer tools installed?

Fred

Hello Fred,

I can see the following errors in the mkmf.log residing in …/
mysql-2.8.1/ext/mysql_api/ .

  1. (Under “find_library: checking for mysql_query() in -
    lmysqlclient… -------------------- no”)
    conftest.c: In function ‘t’:
    conftest.c:3: error: ‘mysql_query’ undeclared (first use in this
    function)
    conftest.c:3: error: (Each undeclared identifier is reported only once
    conftest.c:3: error: for each function it appears in.)

  2. (Under “find_library: checking for mysql_query() in -
    lmysqlclient… -------------------- no”)
    ld: library not found for -lmysqlclient
    collect2: ld returned 1 exit status

  3. ld: library not found for -lmygcc (Under “have_library: checking
    for main() in -lmygcc… -------------------- no”)

  4. ld: library not found for -lnsl (Under “have_library: checking for
    main() in -lnsl… -------------------- no”)

  5. ld: library not found for -lsocket (Under “have_library: checking
    for main() in -lsocket… -------------------- no”)

Hope that helps. Thanks!

On Jun 17, 1:37 pm, Frederick C. [email protected]

:slight_smile: I do. And no, not a dumb question. Im happy answering any
question if it means you can help me fix this hair-loss-causing
issue!!!

On Jun 17, 5:21 pm, Frederick C. [email protected]

Okay … RESOLVED! :smiley:

I left the mysql installation as such in /usr/local .
I had been running the ruby and rails shipped with leopard in /usr/
bin.
Followed the hivelogic article (Dan Benjamin
rails-leopard) to roll my own installations in /usr/local/ and then
ran “sudo gem install mysql – --with-mysql-dir=/usr/local/mysql” .
Worked like a charm!

Thank you all for the help! :slight_smile:

Ram wrote:

Okay … RESOLVED! :smiley:

I left the mysql installation as such in /usr/local .
I had been running the ruby and rails shipped with leopard in /usr/
bin.
Followed the hivelogic article (Dan Benjamin
rails-leopard) to roll my own installations in /usr/local/ and then
ran “sudo gem install mysql – --with-mysql-dir=/usr/local/mysql” .
Worked like a charm!

Hivelogic’s advice to roll your own Ruby installation is generally
pointless and silly on Leopard (unless you’re using 1.9). Now that you
have it all running, I suggest that you get it working with the system
Ruby (which it will do) and delete the unnecessary Hivelogic one.

Thank you all for the help! :slight_smile:

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Hello Marnen,

On the contrary, I find hivelogic’s logic (:P) quite sound.

I understand that the possibility of software updates breaking the
environment is kinda remote, but learning to build from source and
knowing exactly where your software is helps a lot. Whats the point in
developing in RoR but having little knowledge of where your components
are installed on your machine or how to update them? I help maintain a
couple other Macs where we followed hivelogic’s article the very day
the Macs were opened from their boxes, and they have no issues
whatsoever in maintenance. In contrast, my setup has been giving
trouble regularly. Still remains to be seen though, whether having
hivelogic’s setup on top now on my machine will work consistently :).

Besides, gem install mysql simply dint work in my older setup. Spent
couple of weeks on it.