Forum: Ruby on Rails "mysql" 2.7.3 gem install for Windows appears incomplete

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.
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-11-25 21:30
When I install the 2.7.3 "mysql" gem on Windows XP (trying to prepare
for the requirement to use the mysql gem in Rails 2.2.2) by using:

gem install mysql

I get a mysql-2.7.3-x86-mswin32 directory under gems, but underneath
that, only a docs directory, an ext directory, and README, Rakefile and
.require_paths.

I then cannot do any connecting to my MySQL databases.

Shouldn't there be a "lib" directory under the mysql gem directory?

Wes
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick (Guest)
on 2008-11-27 05:17
(Received via mailing list)
Hi Wes,

Did you see anything in the ext directory?

Rick


On Nov 25, 10:30 am, Wes Gamble <rails-mailing-l...@andreas-s.net>
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-11-27 09:05
Rick wrote:
> Hi Wes,
>
> Did you see anything in the ext directory?
>
> Rick
>
>
> On Nov 25, 10:30�am, Wes Gamble <rails-mailing-l...@andreas-s.net>

Yes.  I see the following files:

extconf.rb
mysql.c.in
mysql.c.in.patch
mysql.so
test.rb

Wes
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick (Guest)
on 2008-11-29 08:36
(Received via mailing list)
Can you determine what dates are associated with the files?  In
particular, was mysql.so created when you did the "gem install..."?

Also, the test.rb can be usefull.  Assuming you have a mysql database
named "testDB" that is owned by user "test" who's mysql password is
"test", the following command:

ruby ./test.rb -- localhost test test testDB

will run an array of tests on your mysql ruby access.  They should ALL
pass.

Rick

On Nov 26, 10:05 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick (Guest)
on 2008-11-29 08:39
(Received via mailing list)
.require_paths is officially disparaged :-P

On Nov 26, 10:05 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
9a21bbc68fb81529f7c3c9d99e92a280?d=identicon&s=25 Matthew Phillips (mateo2)
on 2008-11-29 19:53
Rick wrote:
> Can you determine what dates are associated with the files?  In
> particular, was mysql.so created when you did the "gem install..."?
>
> Also, the test.rb can be usefull.  Assuming you have a mysql database
> named "testDB" that is owned by user "test" who's mysql password is
> "test", the following command:
>
> ruby ./test.rb -- localhost test test testDB
>
> will run an array of tests on your mysql ruby access.  They should ALL
> pass.
>
> Rick
>
> On Nov 26, 10:05�pm, Wes Gamble <rails-mailing-l...@andreas-s.net>

Rick, here's what I get when I run the test.rb:

C:\Development\ruby\lib\ruby\gems\1.8\gems\mysql-2.7.3-x86-mswin32\ext>ruby
test
.rb -- localhost test test testDB
Loaded suite test
Started
.........C:/Development/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:3
1: [BUG] Segmentation fault
ruby 1.8.6 (2007-09-24) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick (Guest)
on 2008-12-02 21:46
(Received via mailing list)
Hello Matthew,

So, was your mysql gem compiled during the install sequence?
Is the creation date for mysql.so newer than for the other files?

If that's a definite "can't tell" or just to be sure, uninstall the
gem and reinstall with  the --verbose flag.

  gem uninstall mysql --version=2.8
  gem install mysql --verbose

This should give you the full compilation sequence - very useful stuff
if you're interested in knowing how it's compiled.

Rick

On Nov 29, 9:53 am, Matthew Phillips <rails-mailing-l...@andreas-
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-12-02 21:58
Rick wrote:
>
> ruby ./test.rb -- localhost test test testDB
>

I get this when I run test.rb:

C:\ruby\lib\ruby\gems\1.8\gems\mysql-2.7.3-x86-mswin32\ext>ruby test.rb
-- local
host test test testDB
Loaded suite test
Started
.FE..C:/ruby/lib/ruby/1.8/test/unit/assertions.rb:497: [BUG]
Segmentation fault
ruby 1.8.6 (2007-09-24) [i386-mswin32]


This application has requested the Runtime to terminate it in an unusual
way.
Please contact the application's support team for more information.

Wes
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick (Guest)
on 2008-12-03 00:36
(Received via mailing list)
Hey Wes,

Are you and Matthew Phillips the same person?  Here's the answer that
went to him to exactly the same email:

So, was your mysql gem compiled during the install sequence?
Is the creation date for mysql.so newer than for the other files?

If that's a definite "can't tell" or just to be sure, uninstall the
gem and reinstall with  the --verbose flag.

  gem uninstall mysql --version=2.8
  gem install mysql --verbose

This should give you the full compilation sequence - very useful stuff
if you're interested in knowing how it's compiled.

Rick

On Dec 2, 11:58 am, Wes Gamble <rails-mailing-l...@andreas-s.net>
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-12-03 00:56
Rick wrote:

I'm under the assumption that the mysql gem for Windows is precompiled,
like all of the other gems for Windows (generally speaking), so there
isn't really a compilation step.

Here's the output from the --verbose run.  I notice that it can't find
the

H:\>gem install mysql --verbose
HEAD 200 OK: http://gems.rubyforge.org/latest_specs.4.8
GET 200 OK: http://gems.rubyforge.org/latest_specs.4.8.gz
Installing gem mysql-2.7.3-x86-mswin32
Downloading gem mysql-2.7.3-x86-mswin32.gem
GET 302 Found:
http://gems.rubyforge.org/gems/mysql-2.7.3-x86-mswin32.gem
GET 404 Not Found:
http://gems.rubyforge.vm.bytemark.co.uk/gems/mysql...
mswin32.gem
Failed, downloading gem mysql-2.7.3-mswin32.gem
GET 302 Found: http://gems.rubyforge.org/gems/mysql-2.7.3-mswin32.gem
GET 200 OK: http://gemmirror.xaop.net/gems/mysql-2.7.3-mswin32.gem
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/extconf.rb
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.c.in
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.c.in.patch
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/test.rb
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/README
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/Rakefile
C:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/docs/README.html
Successfully installed mysql-2.7.3-x86-mswin32
1 gem installed
Installing ri documentation for mysql-2.7.3-x86-mswin32...
Installing RDoc documentation for mysql-2.7.3-x86-mswin32...
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 $ -->"
... RDOC args: --op
C:/ruby/lib/ruby/gems/1.8/doc/mysql-2.7.3-x86-mswin32/rdoc -
-exclude ext --main README --quiet ext README docs/README.html
(continuing with the rest of the installation)

The test.rb results are the same.

Wes
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick (Guest)
on 2008-12-03 04:15
(Received via mailing list)
Ok Wes,

So it looks like you are downloading a pre-compiled gem.

I'm not sure how much of this you understand but the mysql gem is
different from most ruby gems in that it is a compiled interface
implements a ruby interface to the mysqlclient API.

My guess is that the mysql....so file that ships with your gem is not
correct for your system.  I'm a little fuzzy here on the finer points
of the mswin32 and 64 bit environments but I do know that there are
several ways to get a miss-match.

On my system, Mac OS X, I start from the source and compile the gem as
part of the install step.  This reduces the likelyhood of a miss-
matched executable but causes more work preparing for the compile.
It's the preparation part that appeared to be broken for me but I've
figured out how to fix that and built a functioning gem.

Do you have a c compiler on your system?  If so, have you ever used it
and do you want to give compiling your gem a shot?

Rick

On Dec 2, 2:56 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-12-03 06:05
My main OS is Mac OS X.

Actually, getting the MySQL gem to install on Mac OS X was no mean fit
given the 32/64 bit issues with the version of Ruby that ships with OS
X.  But I did get that working the other day.

I'm comfortable compiling stuff on OS X.

This exercise was to set up my Windows XP VM - to be honest, I can't
even remember why I was even bothering to try to install the mysql gem
on my Windows VM.

I'm not going to bother moving forward on it unless I need it.

Thanks for the help though.

Wes
Af2ce6689213fdb78913a9662b18da6b?d=identicon&s=25 Rick (Guest)
on 2008-12-03 07:49
(Received via mailing list)
Right, I gave up on what ships with Mac and just built everything
fresh in /opt/local.  That's a good place to put your precious stuff
BTW because a reinstall or major upgrade of OSX will trash /usr/local.

later
Rick

On Dec 2, 8:05 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-12-03 07:54
>a reinstall or major upgrade of OSX will trash /usr/local.

Good tip!

Thanks.
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-12-03 23:39
I remember now why I was trying to get this to work.

Because the built-in support for MySQL has been pulled out of Rails 2.2,
I was just trying to anticipate any 2.2 projects that I needed to
run/handle on Windows.

Wes
Fd17aca673224ac27cc0eb7c14f98269?d=identicon&s=25 Supraja (Guest)
on 2008-12-08 04:58
(Received via mailing list)
Dear Wes,

I saw that you had posted on "mysql" 2.7.3 gem install for Windows
issue. I noticed you said you probably wouldn't pursue it, but I was
wondering if you had any success since then?

I did copy the libmysql.dll file into ruby/bin/ as mentioned here (as
well as in the README.html file associated with the gem), but without
success:
http://hillemania.wordpress.com/2006/09/21/rails-m...

Thanks so much for taking the time to read this.

Cheers,
Supraja

On Dec 3, 2:39 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
Bb4bdf2b184027bc38d4fb529770cde5?d=identicon&s=25 Wes Gamble (weyus)
on 2008-12-08 07:13
Supraja wrote:
> Dear Wes,
>
> I saw that you had posted on "mysql" 2.7.3 gem install for Windows
> issue. I noticed you said you probably wouldn't pursue it, but I was
> wondering if you had any success since then?
>

No, still haven't resolved it.  Hoping that the next release of the
mysql gem for Windows will work better.

WG
Fd17aca673224ac27cc0eb7c14f98269?d=identicon&s=25 Supraja (Guest)
on 2008-12-08 22:00
(Received via mailing list)
Dear Wes,

A suggestion here at http://railsforum.com/viewtopic.php?pid=82076 did
it for me , though I don't know why. Maybe you can post to it to the
forum if it works for you.

I used mysql-5.0.67-win32 instead of the 5.1.30-win32 as jason_46
suggested. I follow everything else he says, except I am running
WEBrick instead of Mongrel. And finally, while the DOS prompt showed
that the PATH variable was already set to "C:\Program Files\MySQL
\MySQL Server 5.0\bin" (among other directories), I just copied
libmySQL.dll from "My SQL Server 5.0\bin" into "WINDOWS\System32" and
"ruby\bin" for kicks.

While this may not be a very elegant way to handle potential PATH
issues, it did the trick for me, so I'm not planning on messing with
it for now. Hope this is helpful.

Thanks,
Supraja

When I type
On Dec 7, 10:13 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
D93ae163042e0a937941e0ba4d8ed5d7?d=identicon&s=25 Eric (Guest)
on 2008-12-10 09:56
(Received via mailing list)
On Dec 7, 10:13 pm, Wes Gamble <rails-mailing-l...@andreas-s.net>
wrote:
> No, still haven't resolved it.  Hoping that the next release of the
> mysql gem for Windows will work better.

Yeah, still broken here.
A32a3e742e5b5289fcad6295d2f7da3b?d=identicon&s=25 Jester (Guest)
on 2008-12-12 08:51
(Received via mailing list)
Might be one more step too...


Update: Found this solution on ruby forum:
http://www.ruby-forum.com/topic/171640

Copy the file libmysql.dll from mysql/bin to ruby/bin.

It worked for me.  Environment starts and app executes properly in
2.2.2 now.  Still get the rdoc error when installing mysql, but it
doesn't seem to affect the environment.
A32a3e742e5b5289fcad6295d2f7da3b?d=identicon&s=25 Jester (Guest)
on 2008-12-12 08:51
(Received via mailing list)
It might be documentation issue  (I'm running into it too)

Someone suggested.
gem install mysql --no-rdoc --no-ri
299fd49b46dec06d5d4d9bae17b7d4e1?d=identicon&s=25 Dave Mininger (dpmin)
on 2008-12-22 04:51
The solution I found for this problem (the [BUG] Segmentation fault
error) was to install Mysql 5.0.67 rather than the latest stable version
of Mysql 5.1.30.

Wes Gamble wrote:
> Rick wrote:
>>
>> ruby ./test.rb -- localhost test test testDB
>>
>
> I get this when I run test.rb:
>
> C:\ruby\lib\ruby\gems\1.8\gems\mysql-2.7.3-x86-mswin32\ext>ruby test.rb
> -- local
> host test test testDB
> Loaded suite test
> Started
> .FE..C:/ruby/lib/ruby/1.8/test/unit/assertions.rb:497: [BUG]
> Segmentation fault
> ruby 1.8.6 (2007-09-24) [i386-mswin32]
>
>
> This application has requested the Runtime to terminate it in an unusual
> way.
> Please contact the application's support team for more information.
>
> Wes
0defa17c332389a9afe8183e8813d5a5?d=identicon&s=25 Jaime Jimmy (jbarragan)
on 2009-03-25 23:48
Dave Min wrote:
> The solution I found for this problem (the [BUG] Segmentation fault
> error) was to install Mysql 5.0.67 rather than the latest stable version
> of Mysql 5.1.30.
>
> Wes Gamble wrote:
>> Rick wrote:
>>>
>>> ruby ./test.rb -- localhost test test testDB
>>>
>>
>> I get this when I run test.rb:
>>
>> C:\ruby\lib\ruby\gems\1.8\gems\mysql-2.7.3-x86-mswin32\ext>ruby test.rb
>> -- local
>> host test test testDB
>> Loaded suite test
>> Started
>> .FE..C:/ruby/lib/ruby/1.8/test/unit/assertions.rb:497: [BUG]
>> Segmentation fault
>> ruby 1.8.6 (2007-09-24) [i386-mswin32]
>>
>>
>> This application has requested the Runtime to terminate it in an unusual
>> way.
>> Please contact the application's support team for more information.
>>
>> Wes

I think the problem is the client version of libmysql.dll . If ruby is
using libmysql.dll 5.1.X from %PATH% or from <ruby>\bin you get this
error. The solution is to replace this library with libmysql.dll 5.0.X.
I got mine from php installation and everything start running fine.

Saludos,

Jaime
This is a hack to avoid reinstalling the server again.
C5949edcf9e35a9aeb2584b6d4a58dcf?d=identicon&s=25 Joe Stein (joestein)
on 2009-08-16 23:15
Jaime Jimmy wrote:

> I think the problem is the client version of libmysql.dll . If ruby is
> using libmysql.dll 5.1.X from %PATH% or from <ruby>\bin you get this
> error. The solution is to replace this library with libmysql.dll 5.0.X.
> I got mine from php installation and everything start running fine.
>
> Saludos,
>
> Jaime
> This is a hack to avoid reinstalling the server again.

Downloading the libmysql.dll 5.0.X and saving it to <ruby>\bin worked
for me also to resolve this same issue as hack to keep windows rails &
mysql version moving ahead.

/*
Joe Stein
http://www.linkedin.com/in/charmalloc
*/
This topic is locked and can not be replied to.