Forum: Ruby How to solve unspecified constant Mysql (name error)

1eb28f3c91b0a7b8bfb1a72cfa8befaa?d=identicon&s=25 Jaimin Pandya (jaimin)
on 2014-03-11 10:05
I am trying to connect and using MySQL server from Ruby.

When I run program like "ruby mysql.rb" then error display like:

/home/jaimin/mysql.rb:6:in `<top (required)>': uninitialized constant
Mysql (NameError)
  from
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
`require'
  from
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
`require'
  from mysql.rb:2:in `<main>'


How can I solve this error?

Best regards.
E088bb5c80fd3c4fd02c2020cdacbaf0?d=identicon&s=25 Jesús Gabriel y Galán (Guest)
on 2014-03-11 10:36
(Received via mailing list)
On Tue, Mar 11, 2014 at 10:05 AM, Jaimin Pandya <lists@ruby-forum.com>
wrote:
>
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
> `require'
>   from mysql.rb:2:in `<main>'
>
>
> How can I solve this error?

First of all, make sure you are requiring the gem, which is probably

require 'mysql'

Also, not sure if this is your case, but if you name your file exactly
the same as a gem that you require, you can have problems. Try
renaming your ruby file to something different to mysql.rb

Jesus.
1eb28f3c91b0a7b8bfb1a72cfa8befaa?d=identicon&s=25 Jaimin Pandya (jaimin)
on 2014-03-11 12:05
Jesús Gabriel y Galán wrote in post #1139464:
> On Tue, Mar 11, 2014 at 10:05 AM, Jaimin Pandya <lists@ruby-forum.com>
> wrote:
>>
>
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
>> `require'
>>   from mysql.rb:2:in `<main>'
>>
>>
>> How can I solve this error?
>
> First of all, make sure you are requiring the gem, which is probably
>
> require 'mysql'
>
> Also, not sure if this is your case, but if you name your file exactly
> the same as a gem that you require, you can have problems. Try
> renaming your ruby file to something different to mysql.rb
>

If I require gem(mysql) then how to install it?

If I am using require 'mysql' then I got error like:

/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
`require': cannot load such file -- mysql (LoadError)
  from
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
`require'
  from mysql.rb:2:in `<main>'

So Then after I used require './mysql' then I got error like:

/home/jaimin/mysql.rb:6:in `<top (required)>': uninitialized constant
Mysql (NameError)
  from
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
`require'
  from
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
`require'
  from mysql.rb:2:in `<main>'


I changed file name then also I got same error.

Kind regards.
E088bb5c80fd3c4fd02c2020cdacbaf0?d=identicon&s=25 Jesús Gabriel y Galán (Guest)
on 2014-03-11 12:08
(Received via mailing list)
On Tue, Mar 11, 2014 at 12:05 PM, Jaimin Pandya <lists@ruby-forum.com>
wrote:
>>> How can I solve this error?
> If I require gem(mysql) then how to install it?
You should read a tutorial about gems:

gem install mysql

(or maybe with sudo, depending on your system).

> If I am using require 'mysql' then I got error like:
>
>
/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in
> `require': cannot load such file -- mysql (LoadError)

This usually means that you have not installed the gem. Try installing
first as per above.

Jesus.
1eb28f3c91b0a7b8bfb1a72cfa8befaa?d=identicon&s=25 Jaimin Pandya (jaimin)
on 2014-03-11 12:23
Jesús Gabriel y Galán wrote in post #1139474:
> On Tue, Mar 11, 2014 at 12:05 PM, Jaimin Pandya <lists@ruby-forum.com>
> wrote:
>>>> How can I solve this error?
>> If I require gem(mysql) then how to install it?
> You should read a tutorial about gems:
>
> gem install mysql
>
> (or maybe with sudo, depending on your system).
>

previously By using this command -- sudo apt-get install mysql-server
mysql-client  I installed MySQL.

Is it right to install gem again?

Kind regards.
E088bb5c80fd3c4fd02c2020cdacbaf0?d=identicon&s=25 Jesús Gabriel y Galán (Guest)
on 2014-03-11 12:26
(Received via mailing list)
On Tue, Mar 11, 2014 at 12:23 PM, Jaimin Pandya <lists@ruby-forum.com>
wrote:
>>
>
> previously By using this command -- sudo apt-get install mysql-server
> mysql-client  I installed MySQL.

This is not the gem, this is the server and a client.

> Is it right to install gem again?

I think you haven't done it yet, so yes, try doing:

gem install mysql

Jesus.
1eb28f3c91b0a7b8bfb1a72cfa8befaa?d=identicon&s=25 Jaimin Pandya (jaimin)
on 2014-03-11 12:33
Jesús Gabriel y Galán wrote in post #1139477:
> On Tue, Mar 11, 2014 at 12:23 PM, Jaimin Pandya <lists@ruby-forum.com>
> wrote:
>>>
>>
>> previously By using this command -- sudo apt-get install mysql-server
>> mysql-client  I installed MySQL.
>
> This is not the gem, this is the server and a client.
>
>> Is it right to install gem again?
>
> I think you haven't done it yet, so yes, try doing:
>
> gem install mysql

I used "gem install mysql" then I got error:

Fetching: mysql-2.9.1.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing mysql:
  ERROR: Failed to build gem native extension.

    /home/jaimin/.rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb
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... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... 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=/home/jaimin/.rvm/rubies/ruby-2.0.0-p353/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}/
  --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
  --with-mygcclib
  --without-mygcclib
  --with-mysqlclientlib
  --without-mysqlclientlib


Gem files will remain installed in
/home/jaimin/.rvm/gems/ruby-2.0.0-p353/gems/mysql-2.9.1 for inspection.
Results logged to
/home/jaimin/.rvm/gems/ruby-2.0.0-p353/gems/mysql-2.9.1/ext/mysql_api/gem_make.out

How to solve this?

Kind regards.
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.