Howdy, I've successfully installed ruby-rails-mysql on my powerbook, on our Windows server, but am missing something on our Linux box. Ruby is installed (1.8.4), so is rails (0.8.11). And I got the "Congratulations, you put Ruby on Rails!" screen. I have MySQL already installed (it's been there for a long time), version 4.0.25). Now, I need to install the driver for MySQL/Ruby (mysql-ruby-2.7). Here's how the progression goes: <code> [richard@www mysql-ruby-2.7]$ ruby ./extconf.rb --with-mysql-dir=/usr checking for mysql_query() in -lmysqlclient... yes checking for mysql_ssl_set()... yes checking for mysql.h... no checking for mysql/mysql.h... yes creating Makefile [richard@www mysql-ruby-2.7]$ make gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i686-linux -I/usr/ local/lib/ruby/1.8/i686-linux -I. -DHAVE_MYSQL_SSL_SET - DHAVE_MYSQL_MYSQL_H -I/usr/include -c mysql.c gcc -shared -L'/usr/lib' -Wl,-R'/usr/lib' -L'/usr/local/lib' -Wl,-R'/ usr/local/lib' -o mysql.so mysql.o -lmysqlclient -ldl -lcrypt -lm -lc [richard@www mysql-ruby-2.7]$ ruby ./test.rb localhost root <myrootpass> test ./test.rb:143: undefined method `client_version' for Mysql:Class (NoMethodError) </code> BTW, I created an empty database called `test`. Anyone had a similar experience? Any ideas? Cheers, Richard
on 2006-02-04 16:58
on 2006-02-04 17:28
Hi, I just packaged mysql-ruby for Fedora Core and in my SPEC file I use ruby extconf.rb --with-mysql-config This does the trick for me on Fedora Core 4. And I guess it would also do the trick on a RHEL server. At least it does so for me using RHEL 3. Kind regards, Oliver
on 2006-02-04 18:08
Thanks, Oliver. I don't have a mysql_config, not sure why. But, I noticed it wasn't finding the header file (mysql.h), so I ran this: [richard@www mysql-ruby-2.7]$ make clean [richard@www mysql-ruby-2.7]$ ruby ./extconf.rb --with-mysql-dir=/usr --with-mysql-include=/usr/include/mysql checking for mysql_query() in -lmysqlclient... yes checking for mysql_ssl_set()... yes checking for mysql.h... yes creating Makefile This time if found it. [richard@www mysql-ruby-2.7]$ make gcc -fPIC -g -O2 -I. -I/usr/local/lib/ruby/1.8/i686-linux -I/usr/ local/lib/ruby/1.8/i686-linux -I. -DHAVE_MYSQL_SSL_SET -DHAVE_MYSQL_H -I/usr/include/mysql -I/usr/include -c mysql.c gcc -shared -L'/usr/lib' -Wl,-R'/usr/lib' -L'/usr/local/lib' -Wl,-R'/ usr/local/lib' -o mysql.so mysql.o -lmysqlclient -ldl -lcrypt -lm -lc [richard@www mysql-ruby-2.7]$ ruby ./test.rb localhost root ertgnhbr ./test.rb:143: undefined method `client_version' for Mysql:Class (NoMethodError) Same error. Could my compiler be the problem? gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-53) Thanks, Richard
on 2006-02-04 18:20
I don't know what is wrong in your case. However, in my case, I wanted a newer version of MySQL than came with RHEL (RHEL4 has MySQL v4 - I wanted v5), so I installed a new MySQL from sources into /usr/ local). Then I did 'gem install mysql -- --with-mysql-dir=/usr/local', and everything built fine.
on 2006-02-04 18:36
Hi, I just checked on my RHEL boxes, and even your method to compile the module works fine there. What version of MySQL are you using and from which source did you take it? Official MySQL rpm files from mysql.com? Self-compiled? The first strange thing in my eyes is, that mysql_config is not there. Every rpm I know of installs it in /usr/bin as part of the basic MySQL package. ANd the second strange thing is the error while running your test code. > [richard@www mysql-ruby-2.7]$ ruby ./test.rb localhost root ertgnhbr > ./test.rb:143: undefined method `client_version' for Mysql:Class > (NoMethodError) I don't think that the compiler is the source of your problems. Can you supply the MySQL version and from where you have taken it? Or where it is installed? Regards, Oliver
on 2006-02-04 21:14
Hey Oliver, I'm using 4.0.25 and I think it's self compiled or came installed already. Unfortunately, I can't remember if I installed it by hand, but for sure it wasn't using RPMs, because I don't see such tracings in /usr/src/redhat... I'm still checking to see how MySQL got there. heh So, I assume by your comment that all mysql installations should have a mysql_config? Here are a few mysql files/folders I found on my system: /usr/bin/safe_mysqld /usr/bin/mysql ...mysqldump, etc /usr/include/mysql/libmysqlclient.so /usr/include/mysql/libmysqlclient.so.10 /usr/include/mysql /usr/lib/libmysqlclient.so /usr/lib/libmysqlclient.so.10 /usr/lib/libmysqlclient.so.12 /usr/lib/libmysqlclient_r.so /usr/lib/libmysqlclient_r.so.10 /usr/lib/libmysqlclient_r.so.12 /usr/lib/mysql /usr/lib/libmysqlclient.so.10.0.0 /usr/lib/libmysqlclient.so.12.0.0 /usr/lib/libmysqlclient_r.so.10.0.0 /usr/lib/libmysqlclient_r.so.12.0.0 /usr/sbin/mysqld /usr/share/mysql I'll see if I can find out how it was installed... Thanks, Richard
on 2006-02-05 04:30
On Feb 4, 2006, at 2:04 PM, Richard Navarrete wrote: > have a mysql_config? > /usr/lib/libmysqlclient.so.12 > /usr/share/mysql >> I just checked on my RHEL boxes, and even your method to compile the >> test code. >> >> Regards, >> Oliver >> >> -- >> Oliver Andrich --- email@example.com --- http://roughbook.de/ >> > > Speaking totally out of my rear end here, but it looks like A) its installed from an rpm (judging by the directories its installed to) and B) you need to install the -devel version of the rpm. Of course I could be completely wrong since its been a long time since A) I've used Linux and B) I almost always use Debian.
on 2006-02-05 06:10
Good call, Logan. [richard@www richard]$ rpm -qa | grep -i mysql MySQL-shared-compat-4.0.25-0 mysql-devel-3.23.58-16.RHEL3.1 php-mysql-4.3.2-26.ent MySQL-server-4.0.25-0 MySQL-client-4.0.25-0 I guess I'll grab the mysql-devel-4.0.25 (if there is such and try to install it). Although I'm not sure why mysql_config isn't there. I'll let you know how it goes. Thanks! R
on 2006-02-06 04:24
That's right, in Debian you need mysqlclient-dev (or whatever was the name of the package) to compile ruby-mysql.
on 2006-02-06 22:10
On Feb 5, 2006, at 12:07 AM, Richard Navarrete wrote: > Although I'm not sure why mysql_config isn't there. Well, mysql_config should only be there after installing the devel version, since if it does what I think it does, is show the include dir and lib dir for mysql. There wouldn't be any include dirs without the devel package, so even it was installed, it wouldn't help. At least I think that's what is going on.
on 2006-02-07 01:05
Success! I spent most of the weekend and today coming back from a long road. I went ahead and upgraded from mysql 4.0 to 4.1... I was missing mysql-devel for starters (as we discussed in this thread). I ran into lots of issues all of which are unrelated to this forum, but in the end... having mysql-devel (4.1.16 in my case) and possibly getting rid of bad glibc libraries, made the installation of mysql- ruby a breeze. I used --with-mysql-config... which I had now and it found everything it needed. Thank you all for your help! Richard