Hi Bryan, I executed the symlink command you sent me and then executed rails server But, I am still getting the same error. /usr/local/bin/ruby: symbol lookup error: /usr/local/lib/ruby/gems/ 1.9.1/gems/gems/mysql2-0.2.6/lib/mysql2/mysql2.so: undefined symbol: RARRAY_LEN
In addition, I have done the following experiments rails new blog -d=mysql cd blog su bundle install rake db:create rails server The above set of instructions are rails instructions for getting started on rails. With these instructions, rails server starts well at the following URL http://0.0.0.0:3000 For the above set of instructions, I have the following lines in my GemFile gem 'rails', '3.0.5' gem 'mysql2' In my config/database.yml, I have development: adapter: mysql2 encoding: utf8 reconnect: false database: blog_development pool: 5 username: root password: socket: /tmp/mysql.sock I tried having socket: /var/lib/mysql/mysql.lock with the symbol link and without it. It does not seem to make any difference. With the spree package that I am trying to run, I have the following content in my Gemfile gem 'rails', '3.0.5' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'mysql2' gem 'newrelic_rpm' # Followed by spree itself first, all spree-specific extensions second gem 'spree', '0.40.3' gem 'spree_active_shipping', :git => 'https://github.com/spree/ spree_active_shipping.git' gem 'spree_product_assembly', :git => 'git://github.com/spree/spree- product-assembly.git' gem 'spree_static_content', :git => 'git://github.com/spree/ spree_static_content.git' I executed the following set of commands rails new xyz -d=mysql cd xyz su bundle install rake db:create rails g spree:site rake spree:install rake spree_sample:install rails server --config=/usr/local/bin/mysql_config Above are the instructions given for spree at the URL, http://spreecommerce.com/documentation/getting_started.html config/database.yml is same as previously mentioned Now executing, rails server gives /usr/local/bin/ruby: symbol lookup error: /usr/local/lib/ruby/gems/ 1.9.1/gems/gems/mysql2-0.2.6/lib/mysql2/mysql2.so: undefined symbol: RARRAY_LEN Question is my why two different results? Is it because in one of the case, mysql connection is not needed as no information is there in the tables? Also, I had tried downgrading rails to 3.0.4 and then executing the above set of instructions. But, same error I read in the following post http://www.linuxforums.org/forum/red-hat-fedora-linux/31155-error-2002-hy000-cant-connect-local-mysql-server.html that adding host name resolves the issue Therefore, I tried different options like host = starwars.localdomain host = starwars in /etc/my.cnf But, when I do that I am unable to restart my MySQL server as it says that PID file has not been written to (or unable to write). Therefore, I am unable to mention host=0.0.0.0, which where rails server is getting started I get similar error of unable to start mysql server, when I have socket=/tmp/mysql.sock in /etc/my.cnf Thinking that linking was not allowed, I even tried disabling the following line in /etc/my.cnf symbolic-links=0 But, again server does not start, whenever I change anything in /etc/ my.cnf My present my.cnf content is as follows [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock #socket=/tmp/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 #host=starwars [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] socket=/var/lib/mysql/mysql.sock #socket=/tmp/mysql.sock #host=starwars.localdomain In one situation, which I can still reproduce, I am getting the following error, when I running as non-root => Booting WEBrick => Rails 3.0.4 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server Exiting /usr/local/lib/ruby/gems/1.9.1/gems/gems/rack-1.2.2/lib/rack/server.rb: 267:in `initialize': Permission denied - /home/Ajay/spree/rails4store/ tmp/pids/server.pid (Errno::EACCES) from /usr/local/lib/ruby/gems/1.9.1/gems/gems/rack-1.2.2/lib/rack/ server.rb:267:in `open' from /usr/local/lib/ruby/gems/1.9.1/gems/gems/rack-1.2.2/lib/rack/ server.rb:267:in `write_pid' from /usr/local/lib/ruby/gems/1.9.1/gems/gems/rack-1.2.2/lib/rack/ server.rb:203:in `start' from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.4/lib/rails/ commands/server.rb:65:in `start' from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.4/lib/rails/ commands.rb:30:in `block in <top (required)>' from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.4/lib/rails/ commands.rb:27:in `tap' from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.4/lib/rails/ commands.rb:27:in `<top (required)>' from script/rails:6:in `require' from script/rails:6:in `<main>' Thinking that probably I need to run as root, I executed as root It then gives the usual mysql2 error that I mentioned earlier. I thought of mentioning it to you in case you have seen this error before. Please let me know if I am missing something or any other ideas that you have, which I can try out. Thanks a lot for your help, Ajay > > Hi Ajay, > > It might still be that it doesn't understand how to talk to MySQL. I'm just > trying to cover the it knowing where things are. It may still not know which > socket to use. I ran into this issue on a Linux machine once and got around > it by symlinking from the tmp folder to the actual socket. Try that and see > what happens. > > cd /tmp > sudo ln -s /var/lib/mysql/mysql.sock mysql.sock > > Thanks, > B. -- 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+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.