Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > "gem install mysql" failing horribly on OS X leaopard

Reply
Thread Tools

"gem install mysql" failing horribly on OS X leaopard

 
 
Doug Livesey
Guest
Posts: n/a
 
      09-07-2008
Hi -- I'm having trouble getting the mysql gem to install on an OS X
Leopard machine.
Typical output I get from the console is this:

<CONSOLE>
esft 523 $ sudo env ARCHFLAGS="-arch i386" gem install mysql --
--with-mysql-include=/usr/local/mysql/include
--with-mysql-lib=/usr/local/mysql/lib
Password:
Building native extensions. This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb install mysql --
--with-mysql-include=/usr/local/mysql/include
--with-mysql-lib=/usr/local/mysql/lib
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
*** 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=/usr/local/bin/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include=${mysql-dir}/include
--with-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib


Gem files will remain installed in
/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7 for inspection.
Results logged to
/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/gem_make.out

</CONSOLE>

And when I look in the mkmf.log file, at the end of a very long series
of entries, I see this:

<LOG>
"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/universal-darwin8.0 -I.
-I/usr/local/mysql/include -I/usr/local/include -g -O2 -fno-common
-pipe -fno-common conftest.c -L"/usr/local/lib"
-L"/usr/local/mysql/lib" -L"/usr/local/lib" -L"/usr/local/lib/mysql"
-arch i386 -lz -lm -lruby-static -lmysqlclient -lz -lm -lpthread -ldl
-lobjc "
ld: warning in /usr/local/mysql/lib/libmysqlclient.dylib, file is not of
required architecture
Undefined symbols:
"_mysql_query", referenced from:
_t in ccxGmlzF.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
checked program was:
/* begin */
1: /*top*/
2: int main() { return 0; }
3: int t() { mysql_query(); return 0; }
/* end */

--------------------
</LOG>

Can anyone offer me any advice on getting this to work?
Cheers,
Doug.
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
 
Kem Mason
Guest
Posts: n/a
 
      04-12-2009
Frederick Cheung wrote:
> On 7 Sep 2008, at 12:47, Doug Livesey wrote:
>> ld: warning in /usr/local/mysql/lib/libmysqlclient.dylib, file is
>> not of
>> required architecture

>
> This appears to be the key bit: you're asking for an i386 executable
> but that library is apparently a different architecture (lipo -
> detailed_info /usr/local/mysql/lib/libmysqlclient.dylib will tell you
> what it is)
>
> Fred


I did this, and my libmysqlclient.dylib was i386 -- but I noticed the
compiler commands were:

gcc -I. -I.
-I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
-I. -DHAVE_MYSQL_H -I/usr/local/mysql/include -Os -arch i386
-fno-common -fno-common -arch ppc -arch i386 -Os -pipe -fno-common -c
mysql.c
cc -arch ppc -arch i386 -pipe -bundle -undefined dynamic_lookup -o
mysql.bundle mysql.o -L"."
-L"/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib" -L.
-arch ppc -arch i386 -lruby -L/usr/local/mysql/lib -lmysqlclient -lz
-lm -lpthread -ldl -lm
#output:
ld warning: in /usr/local/mysql/lib/libmysqlclient.dylib, file is not of
required architecture

I copy / pasted the commands stripping out all the '-arch ppc'
instances, and everything worked great for me after that.

--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
 
Santhoshkumar Muniraj
Guest
Posts: n/a
 
      11-16-2009
Can you try the following command.

sudo env ARCHFLAGS='-arch i386' gem install mysql -v=2.7 --
--with-mysql-config=/usr/local/mysql/bin/mysql_config


Kem Mason wrote:
> Frederick Cheung wrote:
>> On 7 Sep 2008, at 12:47, Doug Livesey wrote:
>>> ld: warning in /usr/local/mysql/lib/libmysqlclient.dylib, file is
>>> not of
>>> required architecture

>>
>> This appears to be the key bit: you're asking for an i386 executable
>> but that library is apparently a different architecture (lipo -
>> detailed_info /usr/local/mysql/lib/libmysqlclient.dylib will tell you
>> what it is)
>>
>> Fred

>
> I did this, and my libmysqlclient.dylib was i386 -- but I noticed the
> compiler commands were:
>
> gcc -I. -I.
> -I/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin9.0
> -I. -DHAVE_MYSQL_H -I/usr/local/mysql/include -Os -arch i386
> -fno-common -fno-common -arch ppc -arch i386 -Os -pipe -fno-common -c
> mysql.c
> cc -arch ppc -arch i386 -pipe -bundle -undefined dynamic_lookup -o
> mysql.bundle mysql.o -L"."
> -L"/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib" -L.
> -arch ppc -arch i386 -lruby -L/usr/local/mysql/lib -lmysqlclient -lz
> -lm -lpthread -ldl -lm
> #output:
> ld warning: in /usr/local/mysql/lib/libmysqlclient.dylib, file is not of
> required architecture
>
> I copy / pasted the commands stripping out all the '-arch ppc'
> instances, and everything worked great for me after that.


--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Should lenses be allowed to claim a specific f-stop speed if theyvignette, horribly? RichA Digital Photography 6 03-31-2013 10:00 PM
Britain bans HORRIBLY air-brushed ad featuring Julia Roberts RichA Digital Photography 17 08-06-2011 06:06 AM
Yahoo email SUX!!! horribly dh@. Computer Information 4 10-01-2010 03:43 PM
Horribly noobful string question SeNTry Python 4 12-15-2005 01:23 AM
horribly impossible debugging task Ara.T.Howard Ruby 11 09-22-2004 06:19 PM



Advertisments