Forum: Ruby on Rails rails 2.1.2 to rails 2.2.2 now I get mysql issues

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-01 03:07
After opening http://localhost:3000/ in browser, under About your
application's environment get this error:
LoadError in Rails/infoController#properties
193: %1 is not a valid Win32 application.   -
C:/jinstalled/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.soRAILS_ROOT:
c:/Jinstalled/Apache Software Foundation/Apache2.2/htdocs/shovell


get the following when I jump into my ruby application(i.e
localhost:3000/stories/ )
193: %1 is not a valid Win32 application.   -
C:/jinstalled/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so

My setup.  I'm running Windows Vista Ultimate x64 edition(still crap).

I had rails 2.1.2 and updated to 2.2.2 and now get the above error.
Ruby -v = 1.8.6
gem -v = 1.3.1
I have mysql-essential-5.0.67-winx64
The service is up and running and I can log in and manipulate the
database just fine.

if I run ruby script\console
>require 'rubygems'
=> []
>require 'mysql'

I get a popup that says: ruby.exe - Unable to Locate component
This application has failed to start because LIBMYSQL.dll was not found.
re-installing the application may fix this problem.

after clicking ok or continue the console spits out:
LoadError: 193: %1 is not a valid Win32 application.   -
C:/Jinstalled/Ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin
32/ext/mysql.so
        from
C:/Jinstalled/Ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so
        from
C:/Jinstalled/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in
`require'
        from
C:/Jinstalled/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in
`re
quire'
        from
C:/Jinstalled/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:521:in
`ne
w_constants_in'
        from
C:/Jinstalled/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:153:in
`re
quire'
        from (irb):2
>


my env path is(relevant info only)
>path
PATH=C:\jinstalled\MySQL\MySQL Server 5.0\bin;C:\jinstalled\ruby\bin

I've copied over a copy of libmysql.dll from the mysql bin into the
ruby/bin as well.

Anyone know how to fix this issues?
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-04 21:39
Anyone know anywhere else I might be able to post this question and get
a response?  I'd really like to get back to development, and would
prefer not to have to roll back to Rails 2.1.2.

thanks,
Jason
B14575f0ca69f10938fdd67e7156e0e1?d=identicon&s=25 Craig Demyanovich (Guest)
on 2008-12-04 22:27
(Received via mailing list)
You wrote that you're running Vista 64-bit and
mysql-essential-5.0.67-winx64, yet the gem seems to be for win32:
mysql-2.7.3-x86-mswin32. Could it be that you need a mysql gem for win64
(is
there one?) or that you need to run mysql for win32 instead of win64?
Just
guessing really, since I don't run Windows.

Regards,
Craig
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-04 22:41
Craig Demyanovich wrote:
> You wrote that you're running Vista 64-bit and
> mysql-essential-5.0.67-winx64, yet the gem seems to be for win32:
> mysql-2.7.3-x86-mswin32. Could it be that you need a mysql gem for win64
> (is
> there one?) or that you need to run mysql for win32 instead of win64?
> Just
> guessing really, since I don't run Windows.
>
> Regards,
> Craig

Well I am running mysql x64, unfortunately there isn't a proper 64 bit
gem(I've searched).  What I don't understand though is how it was
running fine with just an error message(not an error but the deprecation
warning) under 2.1.2 and now won't function at all.  So I'm hoping to
find some workaround so that I can continue using the 64 bit Mysql(for
perfomance).  Otherwise I guess I can just roll back from 2.2.2 but
would like to avoid this as I like what 2.2.2 brings to the table and as
I'm learning ruby and playing with rails don't want to be able to update
to the latest code base's.

thanks,
Jason
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-12-04 22:53
(Received via mailing list)
On Dec 4, 9:41 pm, Jason Smith <rails-mailing-l...@andreas-s.net>
wrote:
> > Craig
>
> Well I am running mysql x64, unfortunately there isn't a proper 64 bit
> gem(I've searched).  What I don't understand though is how it was
> running fine with just an error message(not an error but the deprecation
> warning) under 2.1.2 and now won't function at all.  So I'm hoping to

2.1.2 and earlier bundled a pure ruby mysql driver which would be
loaded if the native one couldn't be (usually this would be because
the native one wasn't there, but any sort of load error would trigger
the fallback), but 2.2 no longer bundles it.

> find some workaround so that I can continue using the 64 bit Mysql(for
> perfomance).  Otherwise I guess I can just roll back from 2.2.2 but
> would like to avoid this as I like what 2.2.2 brings to the table and as
> I'm learning ruby and playing with rails don't want to be able to update
> to the latest code base's.
>
it shouldn't be an issue running a 32bit client against a 64bit
server.

http://support.microsoft.com/kb/325680 and
http://support.microsoft.com/kb/812486
implies this error can be triggered by having folders with 'bad' names

Fred
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-04 23:11
Frederick Cheung wrote:
> On Dec 4, 9:41�pm, Jason Smith <rails-mailing-l...@andreas-s.net>
> wrote:
>> > Craig
>>
>> Well I am running mysql x64, unfortunately there isn't a proper 64 bit
>> gem(I've searched). �What I don't understand though is how it was
>> running fine with just an error message(not an error but the deprecation
>> warning) under 2.1.2 and now won't function at all. �So I'm hoping to
>
> 2.1.2 and earlier bundled a pure ruby mysql driver which would be
> loaded if the native one couldn't be (usually this would be because
> the native one wasn't there, but any sort of load error would trigger
> the fallback), but 2.2 no longer bundles it.
>
>> find some workaround so that I can continue using the 64 bit Mysql(for
>> perfomance). �Otherwise I guess I can just roll back from 2.2.2 but
>> would like to avoid this as I like what 2.2.2 brings to the table and as
>> I'm learning ruby and playing with rails don't want to be able to update
>> to the latest code base's.
>>
> it shouldn't be an issue running a 32bit client against a 64bit
> server.
>
> http://support.microsoft.com/kb/325680 and
> http://support.microsoft.com/kb/812486
> implies this error can be triggered by having folders with 'bad' names
>
> Fred

I did look at both of these links earlier in my search to fix this
problem, one or both of these links....can't quite remember.  Anyways I
think it may relate to this problem, but the problem only happens while
running Rails and its currently looking for the mysql driver(?)
possibly.  As the Mysqlx64 service is up and running just fine in Vista
and I currently have no database issues except when Rails/Ruby.exe
complains about mysql when the script/console and servers are running.
So is there a way I can force 2.2.2 to load some fallback mysql driver,
this way I can keep using the 64 bit version of mysql and 2.2.2 rails?
Guess thats what I have to figure out.  I'm not sure what drop in
performance I may see using Mysql x32 versus x64 but guess that may have
to be considered as well, if I want to continue using 2.2.2 and can't
find a workaround.

thanks,
Jason

p.s. nice find on those links, gotta love google(least thats what I
used!)
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2008-12-05 00:08
(Received via mailing list)
On Dec 4, 10:11 pm, Jason Smith <rails-mailing-l...@andreas-s.net>
wrote:
> Frederick Cheung wrote:
> > On Dec 4, 9:41 pm, Jason Smith <rails-mailing-l...@andreas-s.net>
> > wrote:
> >> > Craig
>
> I did look at both of these links earlier in my search to fix this
> problem, one or both of these links....can't quite remember.  Anyways I
> think it may relate to this problem, but the problem only happens while
> running Rails and its currently looking for the mysql driver(?)

Which could indicate that it's along the path to where the mysql
libraries (as in the ones that come with mysql itself) that windows
gets lost.  I suppose one possibility would be if ruby was a x32
application but the mysql libraries (not the gems) it was trying to
load were x64. If so then installing the 32bit version of mysql might
help (but still keep running the x64 server). Don't know really, not a
windows expert :-)

> possibly.  As the Mysqlx64 service is up and running just fine in Vista
> and I currently have no database issues except when Rails/Ruby.exe
> complains about mysql when the script/console and servers are running.
> So is there a way I can force 2.2.2 to load some fallback mysql driver,
You might be able to poach the pure ruby driver out of rails 2.1.2

Fred
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-05 01:33
Frederick Cheung wrote:
> On Dec 4, 10:11�pm, Jason Smith <rails-mailing-l...@andreas-s.net>
> wrote:
>> Frederick Cheung wrote:
>> > On Dec 4, 9:41 pm, Jason Smith <rails-mailing-l...@andreas-s.net>
>> > wrote:
>> >> > Craig
>>
>> I did look at both of these links earlier in my search to fix this
>> problem, one or both of these links....can't quite remember. �Anyways I
>> think it may relate to this problem, but the problem only happens while
>> running Rails and its currently looking for the mysql driver(?)
>
> Which could indicate that it's along the path to where the mysql
> libraries (as in the ones that come with mysql itself) that windows
> gets lost.  I suppose one possibility would be if ruby was a x32
> application but the mysql libraries (not the gems) it was trying to
> load were x64. If so then installing the 32bit version of mysql might
> help (but still keep running the x64 server). Don't know really, not a
> windows expert :-)
>
>> possibly. �As the Mysqlx64 service is up and running just fine in Vista
>> and I currently have no database issues except when Rails/Ruby.exe
>> complains about mysql when the script/console and servers are running.
>> So is there a way I can force 2.2.2 to load some fallback mysql driver,
> You might be able to poach the pure ruby driver out of rails 2.1.2
>
> Fred

Don't think I'm smart enough to poach the driver out of rails 2.1.2 and
then get rails 2.2.2 to use that driver, so it's looking like I'll have
to maybe try the Mysql x32 option.  I may try that tonight and see what
happens, or tomorrow sometime.  I'll post a follow up with what I
actually get working.  Thanks for the input, appreciate it.

Jason
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-05 07:29
UPDATE!!!!!!

Here is what I did and everything is working.
I uninstalled Mysqlx64 and Ruby.
ran into an issue where Vista kept the service for Mysql even after I
unistalled it, so I had to go into the registry and manually delete the
service entry.  Then I was able to install mysql-essential-5.1.30-win32.
After installation I checked to make sure everything was fine, there is
only one small error and that is when  you do a version check
>mysql -v
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using
password: NO)

This is no big deal as I can access the mysql database using
>mysql -u admin -p #and then providing the password, also can get in using the mysql 
command line client after providing password.

next I installed Ruby 1.8.6, I tried grabbing 1.8.7 but there is no
one-click installer and I had issues with the binary so decided to stay
with 1.8.6

Then I ran:
>gem install rubygems-update
>update_rubygems
>gem install rails
>gem install mysql
# which has an ERROR: While generating documentation for
mysql-2.7.3-x86-mswin32
... MESSAGE: Unhandled special: Special: type=17, text="<!-- $Id:
README.html,v 1.20 2006-12-20 05:31:52 tommy Exp $ -->"
...........
(continuing with the rest of the installation)
>gem install mongrel --include-dependencies

#this also appears to be no big deal, as it only affects documentation.

Then I launched the Server, head to localhost:3000 click on about your
app and everything appears rosy, no apparent mysql issues and all the
versions look good...until you run rake db:migrate then run into the
undefined method 'each' for #<Mysql:0x609076c>

http://www.ruby-forum.com/topic/172158#new
which apparently is a problem only when running mysql 5.1 and rails
2.2.2(maybe 2.1.2 not checking) so I need to back that out to 5.0.67 and
then.....hopefully everything will be good....until I have to update any
component in this equation.

so thats the update, enjoy.
Jason
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-05 21:49
So my final notes as of Dec 05, 2008 to get Ruby, Rails, Mysql working
on
Windows Vista Ultimate x64 edition.

MySQL x64 will work fine on it's own, but not with the latest versions
of Ruby on rails, as the mysql driver is for 32 bit only.
So you have grab an older version[ MySQL 5.0.67 win32(I installed
essential)], as 5.1.30-win32 won't play nice with Rails.
After installing you need to reboot, then you run the instance script to
configure MySQL.

Then you can install/update Ruby and Rails and all the gems as you'd
like.

I currently have Ruby 1.8.6 (there is no one step installer for ruby
1.8.7 and I had some issues with the binaries)
Rails 2.2.2
Gem 1.3.1 ( had to first run >gem install rubygems-update then
>update_rubygems to update from 1.2.0 gems )
also ran
>gem install mysql
>gem install mongrel

Don't forget to make sure the PATH is updated and points to both your
mysql/bin directory and ruby/bin directories.  You can just pop open a
command prompt and type path to see if it is set.
F999a7c806afd4b1d53f9fed9a18c704?d=identicon&s=25 jasoo24 (Guest)
on 2008-12-06 01:19
(Received via mailing list)
I noticed that you've already managed to resolve the issue, but I also
had a similar problem upgrading to 2.2.2 and found a quick work-
around. Here is my solution in case others need help (if this doesn't
work, try Jason Smith's method).

--------

If you are having problems with MySQL, getting errors like: “The
bundled mysql.rb driver has been removed from Rails 2.2. Please
install the mysql gem and try again: gem install mysql.” “C:/ruby/lib/
ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so”

Here is the solution: 1) First, gem install mysql. If this doesn’t
help continue… 2) Copy libmysql.dll from InstantRails (see below) to
your mysql directory (C:\mysql\bin\). Restart your computer and it
should be working.

InstantRails libmysql.dll:
http://instantrails.rubyforge.org/svn/trunk/Instan...

On Dec 5, 12:49 pm, Jason Smith <rails-mailing-l...@andreas-s.net>
A822370edefad22484f9260fb787c710?d=identicon&s=25 Ed (Guest)
on 2008-12-06 01:40
(Received via mailing list)
Funny, I had same problem but neede the opposite solution:  I copied
libmysql.dll from msyql/bin to ruby/bin.

Either way, that's a bit less drastic than nuking and reinstalling
mysql and ruby, so worth trying first.
Eba10a5b6e6547c8982466ceb652d70a?d=identicon&s=25 Jason Smith (jason_46)
on 2008-12-06 02:07
Ed wrote:
> Funny, I had same problem but neede the opposite solution:  I copied
> libmysql.dll from msyql/bin to ruby/bin.
>
> Either way, that's a bit less drastic than nuking and reinstalling
> mysql and ruby, so worth trying first.

If you go back to the first post you'll see libmysql.dll was copied
over, but with the 64 bit version of mysql running this does not help at
all and you'll still be unable to proceed with rails 2.2.2

I did see read somewhere that someone installed mysqlx64 then installed
32 over it took something out and re-installed 64 bit and from his
writeup got 64 bit working with rails, but it wasn't very clear and I
was already frustrated enough  that I was comfortable dropping back down
to 32 bit version of mysql.
A710af9dfed87646459b741a942ed12d?d=identicon&s=25 Rahul Patel (rahulbpatel)
on 2009-06-16 19:18
jasoo24 wrote:

> Here is the solution: 1) First, gem install mysql. If this doesn�t
> help continue� 2) Copy libmysql.dll from InstantRails (see below) to
> your mysql directory (C:\mysql\bin\). Restart your computer and it
> should be working.
>
> InstantRails libmysql.dll:
> http://instantrails.rubyforge.org/svn/trunk/Instan...
>
> On Dec 5, 12:49�pm, Jason Smith <rails-mailing-l...@andreas-s.net>

In case anyone else has the same problem after a lot of struggling on my
Windows XP x64 machine, with MySQL 5.1.30 (x64) and Rails 2.3.2
installed, this above suggestiong helped me.

I had tried copying the libmySQL.dll from my MySQL x64 bin directory to
the ruby\bin directory but that didn't help.  Instead placing the
version from InstantRails URL above into my ruby\bin solved the problem.

Thanks...
C2c5ea8207b74e1a88b14d823b79ee22?d=identicon&s=25 James Thompson (jules_ce)
on 2009-11-22 11:13
Rahul Patel wrote:
> jasoo24 wrote:
>
>> Here is the solution: 1) First, gem install mysql. If this doesn�t
>> help continue� 2) Copy libmysql.dll from InstantRails (see below) to
>> your mysql directory (C:\mysql\bin\). Restart your computer and it
>> should be working.
>>
>> InstantRails libmysql.dll:
>> http://instantrails.rubyforge.org/svn/trunk/Instan...
>>
>> On Dec 5, 12:49�pm, Jason Smith <rails-mailing-l...@andreas-s.net>
>
> In case anyone else has the same problem after a lot of struggling on my
> Windows XP x64 machine, with MySQL 5.1.30 (x64) and Rails 2.3.2
> installed, this above suggestiong helped me.
>
> I had tried copying the libmySQL.dll from my MySQL x64 bin directory to
> the ruby\bin directory but that didn't help.  Instead placing the
> version from InstantRails URL above into my ruby\bin solved the problem.
>
> Thanks...

+1 to this - I'm running Windows 7 Ultimate x64 with MySQL x64 and
copying the libmySQL.dll from InstantRails into the ruby/bin folder did
the trick!

Thanks guys!
Dd5aafc4866cb8a16fe7ed1e2145a693?d=identicon&s=25 Jason S. (jason_s)
on 2010-10-18 17:28
+1 - copying from the instant rails download link to ruby/bin worked for
me:

Rails 3.0.1
Ruby 1.8.7 (and Ruby 1.9.2, works on both)
MySQL 5.5 x64
Windows 7 x64
NetBeans IDE

Thanks!
Another Jason S.
0b119a0054ac02e180950a8d247a4fbe?d=identicon&s=25 Selvaraj Subbaian (selva)
on 2011-01-30 12:30
Jason S. wrote in post #955144:
> +1 - copying from the instant rails download link to ruby/bin worked for
> me:
>
> Rails 3.0.1
> Ruby 1.8.7 (and Ruby 1.9.2, works on both)
> MySQL 5.5 x64
> Windows 7 x64
> NetBeans IDE
>
> Thanks!
> Another Jason S.

ohhh.. long lasting issue..now I am facing this issue

Environment..

Rails 3.0.3
ruby 1.9.2 p136
mysql  Ver 14.14 Distrib 5.1.29-rc, for Win32 (ia32)
windows vista 32bit

I am getting following error, when I try to do dbconsole..
Couldn't find database client: mysql, mysql5. Check your $PATH and try
again.

regards
Selvaraj
8c0f8b296cb44fde37af0022ec78adcf?d=identicon&s=25 Shiv Kumar Ganesh (Guest)
on 2011-01-31 16:43
(Received via mailing list)
Install mysql package in your system and then copy mysql5.dll and
paste it in the ruby bin folder. And while installing mysql allow it
to edit your environment . You are done. The error wont appear and if
using netbeans.... Then i really cant help coz stay version 3 and
above are not working correctly for many people. Whether these s a bug
or something else m still wondering

On 1/30/11, Selvaraj Subbaian <lists@ruby-forum.com> wrote:
>> Thanks!
>
> --
> 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 rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

--
Sent from my mobile device
This topic is locked and can not be replied to.