On 2 Mar 2009, at 2:37pm, Robert Walker wrote:

>
> Ian Piper wrote:
>> Hi all,
>>
>> I hope someone can inform me on this. I was shocked to find that  
>> since
>> upgrading to Rails 2.2.2 my Rails projects using MySQL have broken.
>
> Can you define "broken?" Are you getting errors? If so what are they?
> What version of mysql do you have installed? I'm guessing it was  
> working
> just before you upgraded to Rails 2.2.2, but was there anything else
> that you upgraded in the process? What version of Rails were you  
> running
> before you upgraded to Rails 2.2.2? Did you install a new mysql gem  
> for
> instance do you you have it installed at all?


Yes, of course - I should have done that initially but I didn't want  
to clutter the posting.  See below.

I suppose what gets me irritated about this is that I had no prior  
knowledge that upgrading Rails was going to disable what is probably  
the most commonly-used database setup for Rails. Presumably there was  
a good reason to remove the bundled MySQL driver, but I don't know  
what it is. I haven't changed anything else on my system (apart from  
Mac OS X updates) since I installed the machine nearly two years ago.

Is there a page somewhere (I looked but couldn't find one) that sets  
out the potentially adverse implications of upgrading to a particular  
version of Rails? Seems like it would be a help.

Anyway, back to the error:

I can create a new Rails project using rails -d mysql myproject with  
no problem, but when I run rake db:create:all I see this error message:

========= message ========
!!! The bundled mysql.rb driver has been removed from Rails 2.2.  
Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql
========= message ========

Then when I run sudo gem install mysql I see this:

========= message ========
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
        ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby  
extconf.rb install mysql

Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
        ERROR: Failed to build gem native extension.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby  
extconf.rb install mysql
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=/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ 
ruby
        --with-mysql-config
        --without-mysql-config
        --with-mysql-dir
        --without-mysql-dir
        --with-mysql-include
        --without-mysql-include=${mysql-dir}/include
        --with-mysql-lib
        --without-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 /Library/Ruby/Gems/1.8/gems/ 
mysql-2.7 for inspection.
Results logged to /Library/Ruby/Gems/1.8/gems/mysql-2.7/gem_make.out
========= message ========



>
> I had issues with mysql, but it didn't take much Googling to find a  
> fix.
> So I know for certain that Rails 2.2.2 will work just fine with MySQL,
> as long as you have everything setup correctly. Chances are that if
> you're having trouble then others have had it already and posted the  
> fix
> on their blog.

Well, yes, but like I said, the explanation is not that clear. For  
example, I don't know how to check whether libmysqlclient is  
installed. Or how to swap from 64-bit MySQL to 32-bit MySQL.

>
> If you really do end up needing to downgrade, then I would assume
> uninstalling the Rails 2.2.2 gems should do the trick.
>
> [sudo] gem uninstall rails --version 2.2.2
> [sudo] gem uninstall actionmailer --version 2.2.2
> [sudo] gem uninstall actionpack --version 2.2.2

I may have to try that if I can't fix the current broken state. As an  
alternative, I suppose I could specify an earlier Rails version in my  
environment.rb file.

Thanks,


Ian.
--




--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to