Problems deploying in OpsWorks - mysql
I created a new Rails application and I have done this:
I changed the "sqlite3" gem to "mysql2" and I added "unicorn".
I pushed the application to bitbucket
I have created the Stack, the Rails Layer and initialise the Instance in OpsWorks, also I have created the App (Ruby on rails type) and linked it to the bitbucket repository.
Then when I try to do the first deploy I get the below error:
[2015-01-22T00:11:16+00:00] INFO: Starting chef-zero on port 8889 with repository at repository at /opt/aws/opsworks/current
One version per cookbook
data_bags at /var/lib/aws/opsworks/data/data_bags
nodes at /var/lib/aws/opsworks/data/nodes
[2015-01-22T00:11:17+00:00] INFO: Forking chef instance to converge...
[2015-01-22T00:11:17+00:00] INFO: *** Chef 11.10.4 ***
[2015-01-22T00:11:17+00:00] INFO: Chef-client pid: 3826
[2015-01-22T00:11:17+00:00] INFO: Setting the run_list to ["opsworks_custom_cookbooks::load", "opsworks_custom_cookbooks::execute"] from JSON
[2015-01-22T00:11:17+00:00] WARN: Run List override has been provided.
[2015-01-22T00:11:17+00:00] WARN: Original Run List: [recipe[opsworks_custom_cookbooks::load], recipe[opsworks_custom_cookbooks::execute]]
[2015-01-22T00:11:17+00:00] WARN: Overridden Run List: [recipe[opsworks_custom_cookbooks::load], recipe[opsworks_custom_cookbooks::execute]]
[2015-01-22T00:11:17+00:00] INFO: Run List is [recipe[opsworks_custom_cookbooks::load], recipe[opsworks_custom_cookbooks::execute]]
[2015-01-22T00:11:17+00:00] INFO: Run List expands to [opsworks_custom_cookbooks::load, opsworks_custom_cookbooks::execute]
[2015-01-22T00:11:17+00:00] INFO: Starting Chef Run for rails-app1.localdomain
[2015-01-22T00:11:17+00:00] INFO: Running start handlers
[2015-01-22T00:11:17+00:00] INFO: Start handlers complete.
[2015-01-22T00:11:17+00:00] INFO: HTTP Request Returned 404 Not Found: Object not found: /reports/nodes/rails-app1.localdomain/runs
[2015-01-22T00:11:22+00:00] INFO: Loading cookbooks [apache2, dependencies, deploy, gem_support, mod_php5_apache2, mysql, nginx, opsworks_agent_monit, opsworks_aws_flow_ruby, opsworks_berkshelf, opsworks_bundler, opsworks_commons, opsworks_custom_cookbooks, opsworks_initial_setup, opsworks_java, opsworks_nodejs, opsworks_rubygems, packages, passenger_apache2, php, rails, ruby, scm_helper, ssh_users, unicorn]
[2015-01-22T00:11:23+00:00] INFO: Not needed with Chef 11.x (x >= 8) anymore.
[2015-01-22T00:11:23+00:00] INFO: Processing directory[/opt/aws/opsworks/current/site-cookbooks] action delete (opsworks_custom_cookbooks::load line 4)
[2015-01-22T00:11:23+00:00] INFO: Processing ruby_block[merge all cookbooks sources] action run (opsworks_custom_cookbooks::load line 12)
[2015-01-22T00:11:23+00:00] INFO: ruby_block[merge all cookbooks sources] called
[2015-01-22T00:11:23+00:00] WARN: Skipping final node save because override_runlist was given
[2015-01-22T00:11:23+00:00] INFO: Chef Run complete in 5.728910816 seconds
[2015-01-22T00:11:23+00:00] INFO: Running report handlers
[2015-01-22T00:11:23+00:00] INFO: Report handlers complete
---
[2015-01-22T00:11:23+00:00] INFO: Starting chef-zero on port 8889 with repository at repository at /opt/aws/opsworks/current
One version per cookbook
data_bags at /var/lib/aws/opsworks/data/data_bags
nodes at /var/lib/aws/opsworks/data/nodes
[2015-01-22T00:11:24+00:00] INFO: Forking chef instance to converge...
[2015-01-22T00:11:24+00:00] INFO: *** Chef 11.10.4 ***
[2015-01-22T00:11:24+00:00] INFO: Chef-client pid: 3971
[2015-01-22T00:11:24+00:00] INFO: Setting the run_list to ["opsworks_custom_cookbooks::load", "opsworks_custom_cookbooks::execute"] from JSON
[2015-01-22T00:11:24+00:00] WARN: Run List override has been provided.
[2015-01-22T00:11:24+00:00] WARN: Original Run List: [recipe[opsworks_custom_cookbooks::load], recipe[opsworks_custom_cookbooks::execute]]
[2015-01-22T00:11:24+00:00] WARN: Overridden Run List: [recipe[deploy::default], recipe[opsworks_stack_state_sync], recipe[deploy::rails], recipe[test_suite], recipe[opsworks_cleanup]]
[2015-01-22T00:11:24+00:00] INFO: Run List is [recipe[deploy::default], recipe[opsworks_stack_state_sync], recipe[deploy::rails], recipe[test_suite], recipe[opsworks_cleanup]]
[2015-01-22T00:11:24+00:00] INFO: Run List expands to [deploy::default, opsworks_stack_state_sync, deploy::rails, test_suite, opsworks_cleanup]
[2015-01-22T00:11:24+00:00] INFO: Starting Chef Run for rails-app1.localdomain
[2015-01-22T00:11:24+00:00] INFO: Running start handlers
[2015-01-22T00:11:24+00:00] INFO: Start handlers complete.
[2015-01-22T00:11:24+00:00] INFO: HTTP Request Returned 404 Not Found: Object not found: /reports/nodes/rails-app1.localdomain/runs
[2015-01-22T00:11:29+00:00] INFO: Loading cookbooks [apache2, dependencies, deploy, gem_support, mod_php5_apache2, mysql, nginx, opsworks_agent_monit, opsworks_aws_flow_ruby, opsworks_bundler, opsworks_cleanup, opsworks_commons, opsworks_initial_setup, opsworks_java, opsworks_nodejs, opsworks_rubygems, opsworks_stack_state_sync, packages, passenger_apache2, php, rails, ruby, scm_helper, ssh_users, test_suite, unicorn]
...removed some code for stackoverflow body limitation
[2015-01-22T00:11:32+00:00] INFO: file[/home/deploy/.ssh/config] updated atime and mtime to 2015-01-22 00:11:32 +0000
[2015-01-22T00:11:32+00:00] INFO: Processing execute[echo 'StrictHostKeyChecking no' > /home/deploy/.ssh/config] action run (deploy::rails line 23)
[2015-01-22T00:11:32+00:00] INFO: execute[echo 'StrictHostKeyChecking no' > /home/deploy/.ssh/config] ran successfully
[2015-01-22T00:11:32+00:00] INFO: Processing template[/home/deploy/.ssh/id_dsa] action create (deploy::rails line 27)
[2015-01-22T00:11:32+00:00] INFO: template[/home/deploy/.ssh/id_dsa] created file /home/deploy/.ssh/id_dsa
[2015-01-22T00:11:32+00:00] INFO: template[/home/deploy/.ssh/id_dsa] updated file contents /home/deploy/.ssh/id_dsa
[2015-01-22T00:11:32+00:00] INFO: template[/home/deploy/.ssh/id_dsa] owner changed to 4000
[2015-01-22T00:11:32+00:00] INFO: template[/home/deploy/.ssh/id_dsa] group changed to 497
[2015-01-22T00:11:32+00:00] INFO: template[/home/deploy/.ssh/id_dsa] mode changed to 600
[2015-01-22T00:11:32+00:00] INFO: Processing directory[/srv/www/ariadna/shared/cached-copy] action delete (deploy::rails line 48)
[2015-01-22T00:11:32+00:00] INFO: Processing ruby_block[change HOME to /home/deploy for source checkout] action run (deploy::rails line 56)
[2015-01-22T00:11:32+00:00] INFO: ruby_block[change HOME to /home/deploy for source checkout] called
[2015-01-22T00:11:32+00:00] INFO: Processing deploy[/srv/www/ariadna] action deploy (deploy::rails line 65)
[2015-01-22T00:11:34+00:00] INFO: deploy[/srv/www/ariadna] cloning repo git#bitbucket.org:viktorpr7/ariadna-beta.git to /srv/www/ariadna/shared/cached-copy
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] checked out branch: master onto: deploy reference: 6450219b5689de565864424e4fe48da22700e088
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] synchronizing git submodules
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] enabling git submodules
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] set user to deploy
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] set group to nginx
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] copied the cached checkout to /srv/www/ariadna/releases/20150122001132
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] set user to deploy
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] set group to nginx
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] running callback before_migrate
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] created directories before symlinking: tmp,public,config
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] linked shared paths into current release: system => public/system, pids => tmp/pids, log => log
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] made pre-migration symlinks
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] set user to deploy
[2015-01-22T00:11:36+00:00] INFO: deploy[/srv/www/ariadna] set group to nginx
[2015-01-22T00:11:36+00:00] INFO: Gemfile detected. Running bundle install.
[2015-01-22T00:11:36+00:00] INFO: sudo su - deploy -c 'cd /srv/www/ariadna/releases/20150122001132 && /usr/local/bin/bundle install --path /home/deploy/.bundler/ariadna --without=test development'
================================================================================
Error executing action `deploy` on resource 'deploy[/srv/www/ariadna]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '5'
---- Begin output of sudo su - deploy -c 'cd /srv/www/ariadna/releases/20150122001132 && /usr/local/bin/bundle install --path /home/deploy/.bundler/ariadna --without=test development' 2>&1 ----
STDOUT: Fetching gem metadata from https://rubygems.org/...........
Installing rake (10.4.2)
Installing i18n (0.7.0)
Installing json (1.8.2)
Installing minitest (5.5.1)
Installing thread_safe (0.3.4)
Installing tzinfo (1.2.2)
Installing activesupport (4.1.9)
Installing builder (3.2.2)
Installing erubis (2.7.0)
Installing actionview (4.1.9)
Installing rack (1.5.2)
Installing rack-test (0.6.3)
Installing actionpack (4.1.9)
Installing mime-types (2.4.3)
Installing mail (2.6.3)
Installing actionmailer (4.1.9)
Installing activemodel (4.1.9)
Installing arel (5.0.1.20140414130214)
Installing activerecord (4.1.9)
Installing coffee-script-source (1.8.0)
Installing execjs (2.2.2)
Installing coffee-script (2.3.0)
Installing thor (0.19.1)
Installing railties (4.1.9)
Installing coffee-rails (4.0.1)
Installing hike (1.2.3)
Installing multi_json (1.10.1)
Installing jbuilder (2.2.6)
Installing jquery-rails (3.1.2)
Installing kgio (2.9.2)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
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=/usr/local/bin/ruby
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--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}/lib
--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
extconf failed, exit code 1
Gem files will remain installed in /home/deploy/.bundler/ariadna/ruby/2.1.0/gems/mysql2-0.3.16 for inspection.
Results logged to /home/deploy/.bundler/ariadna/ruby/2.1.0/extensions/x86_64-linux/2.1.0/mysql2-0.3.16/gem_make.out
An error occurred while installing mysql2 (0.3.16), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.16'` succeeds before bundling.
STDERR:
---- End output of sudo su - deploy -c 'cd /srv/www/ariadna/releases/20150122001132 && /usr/local/bin/bundle install --path /home/deploy/.bundler/ariadna --without=test development' 2>&1 ----
Ran sudo su - deploy -c 'cd /srv/www/ariadna/releases/20150122001132 && /usr/local/bin/bundle install --path /home/deploy/.bundler/ariadna --without=test development' 2>&1 returned 5
Cookbook Trace:
---------------
/var/lib/aws/opsworks/cache.stage2/cookbooks/opsworks_commons/libraries/shellout.rb:8:in `shellout'
/var/lib/aws/opsworks/cache.stage2/cookbooks/rails/libraries/rails_configuration.rb:41:in `bundle'
/var/lib/aws/opsworks/cache.stage2/cookbooks/deploy/definitions/opsworks_deploy.rb:105:in `block (3 levels) in from_file'
Resource Declaration:
---------------------
# In /var/lib/aws/opsworks/cache.stage2/cookbooks/deploy/definitions/opsworks_deploy.rb
65: deploy deploy[:deploy_to] do
66: provider Chef::Provider::Deploy.const_get(deploy[:chef_provider])
67: keep_releases deploy[:keep_releases]
68: repository deploy[:scm][:repository]
69: user deploy[:user]
70: group deploy[:group]
71: revision deploy[:scm][:revision]
72: migrate deploy[:migrate]
73: migration_command deploy[:migrate_command]
74: environment deploy[:environment].to_hash
75: purge_before_symlink(deploy[:purge_before_symlink]) unless deploy[:purge_before_symlink].nil?
76: create_dirs_before_symlink(deploy[:create_dirs_before_symlink])
77: symlink_before_migrate(deploy[:symlink_before_migrate])
78: symlinks(deploy[:symlinks]) unless deploy[:symlinks].nil?
79: action deploy[:action]
80:
81: if deploy[:application_type] == 'rails' && node[:opsworks][:instance][:layers].include?('rails-app')
82: restart_command "sleep #{deploy[:sleep_before_restart]} && #{node[:opsworks][:rails_stack][:restart_command]}"
83: end
84:
Compiled Resource:
------------------
# Declared in /var/lib/aws/opsworks/cache.stage2/cookbooks/deploy/definitions/opsworks_deploy.rb:65:in `block in from_file'
deploy("/srv/www/ariadna") do
params {:deploy_data=>{"deploy_to"=>"/srv/www/ariadna", "chef_provider"=>"Timestamped", "keep_releases"=>5, "current_path"=>"/srv/www/ariadna/current", "document_root"=>"public", "ignore_bundler_groups"=>["test", "development"], "absolute_document_root"=>"/srv/www/ariadna/current/public/", "rake"=>"/usr/local/bin/rake", "migrate"=>true, "migrate_command"=>"if [ -f Gemfile ]; then echo 'OpsWorks: Gemfile found - running migration with bundle exec' && /usr/local/bin/bundle exec /usr/local/bin/rake db:migrate; else echo 'OpsWorks: no Gemfile - running plain migrations' && /usr/local/bin/rake db:migrate; fi", "rails_env"=>"production", "action"=>"deploy", "user"=>"deploy", "group"=>"nginx", "shell"=>"/bin/bash", "home"=>"/home/deploy", "sleep_before_restart"=>0, "stack"=>{"needs_reload"=>true}, "enable_submodules"=>true, "shallow_clone"=>false, "delete_cached_copy"=>true, "purge_before_symlink"=>["log", "tmp/pids", "public/system"], "create_dirs_before_symlink"=>["tmp", "public", "config"], "symlink_before_migrate"=>{"config/database.yml"=>"config/database.yml", "config/memcached.yml"=>"config/memcached.yml"}, "symlinks"=>{"system"=>"public/system", "pids"=>"tmp/pids", "log"=>"log"}, "environment"=>{"RAILS_ENV"=>"production", "RUBYOPT"=>"", "RACK_ENV"=>"production", "HOME"=>"/home/deploy"}, "environment_variables"=>{}, "ssl_support"=>false, "auto_npm_install_on_deploy"=>true, "nodejs"=>{"restart_command"=>"monit restart node_web_app_ariadna", "stop_command"=>"monit stop node_web_app_ariadna", "port"=>80}, "application"=>"ariadna", "application_type"=>"rails", "auto_bundle_on_deploy"=>true, "deploying_user"=>"arn:aws:iam::673556511701:root", "domains"=>["ariadna"], "mounted_at"=>nil, "restart_command"=>nil, "ssl_certificate"=>nil, "ssl_certificate_key"=>nil, "ssl_certificate_ca"=>nil, "scm"=>{"scm_type"=>"git", "repository"=>"git#bitbucket.org:viktorpr7/ariadna-beta.git", "revision"=>"master", "ssh_key"=>"-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEA56JKs1w7Bvvq4eRElpPcIQCLTIKD6JrnyuKA2RbNrRxTWX8k\n3rtk9MQabphAfc6yN/Upe4bOqakeiGjTNEnrOGM1qKa2YALFSH9ZfuulfMI4+hLd\ns9vsD5mlMi92ZmitwiAlqe0jhXQyO+6OfHIASY0kuThfCZnRMyHiRzUEeacpatSh\nE8Ygy2SIQBrYQ9XuhwMCWMIuT1IbgdUi5B4JLrj74hfFimW5aH1wRBqPkprfHVfg\n8YPGWKU+rLZMO9IA7OtpCUvXQGryyMQsOB5b/w3aCg4GlWmRVtcGONd8kW0vourg\nGJO7VDGZ3Y1m8PEryjncWTQwyv+XKu6+i5tmTQIDAQABAoIBAAbOqC9ZOIreAGsf\nEDz0n3WA1JctBr9hPgqiWXMHzoeV24U3zVeWXkMrODOj2dFYr7ghRlTRA2XNCI6t\ntfdFbNo9YChSre1oZ2/X/kNSnYxrEM2YnFda0TcsJsSwzGP6E5Eu7Kxvwal8XrWQ\nLzPNDeEbesbOt0xK7vD3v/SjxDvm9WqKVbf14eCqN1EYxOSTq4SqWq9+NvogAG09\ny2xyfSK5G5QsbJ41CGLxBSsk1SRyFvgXgHUPI05Gqz4EV8mKhp5nD9n7KYtbOH5I\nD7XvnlTLQNclB2db6+1zp0YWGbHgMoIZScPUI6XE653uXUNg5TuDV+lHnQVouANC\nqS+0BUECgYEA86tf65jH4f1uDN140LjDgmCMgb4IjpyfNDZ7M6iXtvpLJn8w2MRo\nuYOUDqEOWpYY6uYs4tEPgdmO786G3JgxAgzHWCgK9go+IS6BMjIRT77LjtJCHwF0\nZEF5q14zKDycuCcJiI80Oteo2p9xUQ0bZfAiQqgyOdLQF/2++zjMHdkCgYEA81sA\nxSAhW3EscvhJgeoqmdRWKBnw2u8t6YWKOm6TqxlIC3JR85nn622hU0KMkVPNy4S6\nvKgVlNtV6CoA8NnRW0NXEpoj93kQZPEdwrrol8KS5AVOF2B5qD+wMwNl4xafgHuk\nN8DyDA//ZDarNlssnrhBJbRCyehFGzmXYS5+35UCgYEAzk9+0pq0Oqr6P9hRD+Aw\nYTZgIQYGdsEzpuCuJcoMUrfPY1PzxsVdqh03Ab/pyFcn19N1k8HQ8G+FL5Pc6e/O\nJt8s9X5J8ZIwkqWubBKqR6vS7CUoKNpxcuVhH/CNPfc79kvPLZmabmvkot628ho3\n5XKRf4CrrfvJh1aoGks3v9kCgYEArwJkJF+9/X//YlMyse5QYr50k3RMZXaawxTZ\nWrpJEkQlLq4xR4oIYqQ93529b4ogNtumW6RZmOq/9i227X8H86UTCnq1oPR8mMta\nBr/aI8G3V6qFBYTJGPlsYtNvw4dyf7jrWXk12PzsQwqZyIZ7KU4C8/WWDpQulqyt\nNCN29J0CgYEAyUPOorkU1iwlg6pBgBKm5GVq8YGb8INzODrox+u8MJRFHT6BujY1\nQnF3sy84OWW9x79PQmzvYSpjVsD3GtIcvd4mDQ5GdB+XJaldO//3LhQl9yNG/OAd\nodNSsgut3SfHUR5uCb06Q+FJo8CHus/r1vzNpfL9er01RpXhVZOYUoY=\n-----END RSA PRIVATE KEY-----", "user"=>nil, "password"=>nil}, "database"=>{}, "memcached"=>{"host"=>nil, "port"=>11211}}, :app=>"ariadna", :name=>nil}
provider Chef::Provider::Deploy::Timestamped
action [:deploy]
updated true
updated_by_last_action true
retries 0
retry_delay 2
deploy_to "/srv/www/ariadna"
environment {"RAILS_ENV"=>"production", "RUBYOPT"=>"", "RACK_ENV"=>"production", "HOME"=>"/home/deploy"}
repository_cache "cached-copy"
purge_before_symlink ["log", "tmp/pids", "public/system"]
create_dirs_before_symlink ["tmp", "public", "config"]
symlink_before_migrate {"config/database.yml"=>"config/database.yml", "config/memcached.yml"=>"config/memcached.yml"}
symlinks {"system"=>"public/system", "pids"=>"tmp/pids", "log"=>"log"}
revision "master"
migrate true
remote "origin"
enable_submodules true
scm_provider Chef::Provider::Git
keep_releases 5
enable_checkout true
checkout_branch "deploy"
cookbook_name "deploy"
recipe_name "rails"
repo "git#bitbucket.org:viktorpr7/ariadna-beta.git"
user "deploy"
group "nginx"
migration_command "if [ -f Gemfile ]; then echo 'OpsWorks: Gemfile found - running migration with bundle exec' && /usr/local/bin/bundle exec /usr/local/bin/rake db:migrate; else echo 'OpsWorks: no Gemfile - running plain migrations' && /usr/local/bin/rake db:migrate; fi"
restart_command "sleep 0 && ../../shared/scripts/unicorn clean-restart"
before_migrate #<Proc:0x007f21fcfabcc8#/var/lib/aws/opsworks/cache.stage2/cookbooks/deploy/definitions/opsworks_deploy.rb:100>
shared_path "/srv/www/ariadna/shared"
destination "/srv/www/ariadna/shared/cached-copy"
current_path "/srv/www/ariadna/current"
end
[2015-01-22T00:12:05+00:00] INFO: Running queued delayed notifications before re-raising exception
[2015-01-22T00:12:05+00:00] ERROR: Running exception handlers
[2015-01-22T00:12:05+00:00] ERROR: Exception handlers complete
[2015-01-22T00:12:05+00:00] FATAL: Stacktrace dumped to /var/lib/aws/opsworks/cache.stage2/chef-stacktrace.out
[2015-01-22T00:12:05+00:00] ERROR: deploy[/srv/www/ariadna] (deploy::rails line 65) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '5'
---- Begin output of sudo su - deploy -c 'cd /srv/www/ariadna/releases/20150122001132 && /usr/local/bin/bundle install --path /home/deploy/.bundler/ariadna --without=test development' 2>&1 ----
STDOUT: Fetching gem metadata from https://rubygems.org/...........
Installing rake (10.4.2)
Installing i18n (0.7.0)
Installing json (1.8.2)
Installing minitest (5.5.1)
Installing thread_safe (0.3.4)
Installing tzinfo (1.2.2)
Installing activesupport (4.1.9)
Installing builder (3.2.2)
Installing erubis (2.7.0)
Installing actionview (4.1.9)
Installing rack (1.5.2)
Installing rack-test (0.6.3)
Installing actionpack (4.1.9)
Installing mime-types (2.4.3)
Installing mail (2.6.3)
Installing actionmailer (4.1.9)
Installing activemodel (4.1.9)
Installing arel (5.0.1.20140414130214)
Installing activerecord (4.1.9)
Installing coffee-script-source (1.8.0)
Installing execjs (2.2.2)
Installing coffee-script (2.3.0)
Installing thor (0.19.1)
Installing railties (4.1.9)
Installing coffee-rails (4.0.1)
Installing hike (1.2.3)
Installing multi_json (1.10.1)
Installing jbuilder (2.2.6)
Installing jquery-rails (3.1.2)
Installing kgio (2.9.2)
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
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=/usr/local/bin/ruby
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--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}/lib
--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
extconf failed, exit code 1
Gem files will remain installed in /home/deploy/.bundler/ariadna/ruby/2.1.0/gems/mysql2-0.3.16 for inspection.
Results logged to /home/deploy/.bundler/ariadna/ruby/2.1.0/extensions/x86_64-linux/2.1.0/mysql2-0.3.16/gem_make.out
An error occurred while installing mysql2 (0.3.16), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.16'` succeeds before bundling.
STDERR:
---- End output of sudo su - deploy -c 'cd /srv/www/ariadna/releases/20150122001132 && /usr/local/bin/bundle install --path /home/deploy/.bundler/ariadna --without=test development' 2>&1 ----
Ran sudo su - deploy -c 'cd /srv/www/ariadna/releases/20150122001132 && /usr/local/bin/bundle install --path /home/deploy/.bundler/ariadna --without=test development' 2>&1 returned 5
[2015-01-22T00:12:05+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Updated:
I'm using Ubuntu 14.04, I added the libmysqlclient-dev but still the same error when I try deploy, here you can see the Layer configuration:
I needed to restart the instance
You'll need to intall the relevent OS packages.
Steps:
Log into Opsworks
Click Layers on the left sidebar.
Find and click Recipes within the Rails App Server (or whatever your server is).
Click the Edit button.
From there towards the bottom you will have to add the packages you need.
I think it'll be:
mysql-devel
mysql
Edit The correct package, as you added later in your question, is libmysqlclient-dev.
This should fix your issue.
You need to install the mysql client libraries. The exact package name varies based on OS but something like package 'mysql-client-dev'.
Related
Attempted to use the 'bundle install' command in Terminal for Rails and received an error message
I then tried updating MySQL after it listed that error and received an error message that read: Gem files will remain installed in /Users/johnjackson/.rvm/gems/ruby- 2.2.1/gems/mysql2-0.3.18 for inspection. Results logged to /Users/johnjackson/.rvm/gems/ruby- 2.2.1/extensions/x86_64-darwin-14/2.2.0/mysql2-0.3.18/gem_make.out Johns-MacBook-Pro:Client johnjackson$ bundle install Fetching gem metadata from https://rubygems.org/............ Fetching version metadata from https://rubygems.org/.. Resolving dependencies... Using rake 10.4.2 Using i18n 0.7.0 Using json 1.8.2 Using minitest 5.6.0 Using thread_safe 0.3.5 Using tzinfo 1.2.2 Using activesupport 4.2.0 Using builder 3.2.2 Using erubis 2.7.0 Using mini_portile 0.6.2 Using nokogiri 1.6.6.2 Using rails-deprecated_sanitizer 1.0.3 Using rails-dom-testing 1.0.6 Using loofah 2.0.1 Using rails-html-sanitizer 1.0.2 Using actionview 4.2.0 Using rack 1.6.0 Using rack-test 0.6.3 Using actionpack 4.2.0 Using globalid 0.3.5 Using activejob 4.2.0 Using mime-types 2.4.3 Using mail 2.6.3 Using actionmailer 4.2.0 Using activemodel 4.2.0 Using arel 6.0.0 Using activerecord 4.2.0 Using debug_inspector 0.0.2 Using binding_of_caller 0.7.2 Using bundler 1.8.5 Using columnize 0.9.0 Using byebug 4.0.5 Using coffee-script-source 1.9.1.1 Using execjs 2.5.2 Using coffee-script 2.4.1 Using thor 0.19.1 Using railties 4.2.0 Using coffee-rails 4.1.0 Using multi_json 1.11.0 Using jbuilder 2.2.13 Using jquery-rails 4.0.3 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/johnjackson/.rvm/rubies/ruby-2.2.1/bin/ruby -r ./siteconf20150422-18439-16qcm93.rb extconf.rb checking for ruby/thread.h... yes checking for rb_thread_call_without_gvl() in ruby/thread.h... yes checking for rb_thread_blocking_region()... no checking for rb_wait_for_single_fd()... yes checking for rb_hash_dup()... yes checking for rb_intern3()... yes 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... no 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 --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=/Users/johnjackson/.rvm/rubies/ruby-2.2.1/bin/$(RUBY_BASE_NAME) --with-mysql-dir --without-mysql-dir --with-mysql-include --without-mysql-include=${mysql-dir}/include --with-mysql-lib --without-mysql-lib=${mysql-dir}/lib --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}/lib --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 extconf failed, exit code 1 Gem files will remain installed in /Users/johnjackson/.rvm/gems/ruby- 2.2.1/gems/mysql2-0.3.18 for inspection. Results logged to /Users/johnjackson/.rvm/gems/ruby-2.2.1/extensions/x86_64-darwin-14/2.2.0/mysql2-0.3.18/gem_make.out I am not sure what I need to do to ensure that 'bundle install' works correctly... when I try to fix the MySQL error code, the MySQL install/update fails every time for some reason.
You need to have the MySQL server setup and running in the system. I trust you're using Mac OS and can try this: brew install mysql mysql.server start
ERROR: Failed to build gem native extension (mysql2 on rails 3.2.3)
I'm trying to install the mysql2 gem with Rails 3.2.3 and it's failing: ★ bundle install Fetching gem metadata from https://rubygems.org/......... Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.2.0) Using activesupport (3.2.3) Using builder (3.0.0) Using activemodel (3.2.3) Using erubis (2.7.0) Using journey (1.0.3) Using rack (1.4.1) Using rack-cache (1.2) Using rack-test (0.6.1) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.1.2) Using actionpack (3.2.3) Using mime-types (1.18) Using polyglot (0.3.3) Using treetop (1.4.10) Using mail (2.4.4) Using actionmailer (3.2.3) Using arel (3.0.2) Using tzinfo (0.3.32) Using activerecord (3.2.3) Using activeresource (3.2.3) Using bundler (1.1.3) Using coffee-script-source (1.2.0) Using execjs (1.3.0) Using coffee-script (2.2.0) Using rack-ssl (1.3.2) Using json (1.6.6) Using rdoc (3.12) Using thor (0.14.6) Using railties (3.2.3) Using coffee-rails (3.2.2) Using jquery-rails (2.0.2) Installing mysql2 (0.3.11) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/rarneson/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb checking for rb_thread_blocking_region()... yes checking for rb_wait_for_single_fd()... yes 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... no 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 --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=/Users/rarneson/.rvm/rubies/ruby-1.9.3-p125/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}/lib --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 /Users/rarneson/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11 for inspection. Results logged to /Users/rarneson/.rvm/gems/ruby-1.9.3-p125/gems/mysql2-0.3.11/ext/mysql2/gem_make.out An error occured while installing mysql2 (0.3.11), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.3.11'` succeeds before bundling. I'm running bundle install and this is in my Gemfile: gem 'mysql2', '~> 0.3.11' I've currently got MySQL running through MAMP. I'm not sure if this is a bad idea and I should run a vanilla MySQl but it seems my current problem is just getting the gem installed. I've seen quite a few of these problems here on stackoverflow but all seem a bit different or have really complicated solutions. Is there something I'm missing? Something simple? Something stupid? I can provide additional info from the out file if necessary. I've read that some people use SQLite for dev and test then MySQL in prod but that sounds like a pretty horrible idea.
From https://github.com/brianmario/mysql2/issues/8 just copied this in the console sudo apt-get install mysql-client libmysqlclient-dev and worked!!
I used Homebrew for Mac to install mysql: brew install mysql Then I used a gem command to install the mysql2 gem: sudo gem install mysql2
This is mostly due to lack of mysql headers, Try to install mysql developer (mysql-devel) packages Normally this error comes when 'libmysqlclient-dev' package is missing if you are on linux try this link if you are on windows this url might help you
I just ran into the same problem, using OS X Sierra and MAMP and Rails 5. I successfully installed the gem via gem install mysql2 -- --with-mysql-config=/Applications/MAMP/Library/bin/mysql_config After that, bundle install worked just fine.
I ended up just installing a fresh copy of MySQL and not using MAMP and that did the trick. Also had to be sure to install the 64-bit version, not 32-bit.
You can follow this thread Errors Installing mysql2 gem via the Bundler which explains the solution for Centos and this problem will be fixed, if you tweak the commands w.r.t your OS and you can be able to successfully install the mysql2 gem.
Just add MAMP mysql to PATH, then you can run bundle install as per normal. $ /Applications/MAMP/Library/bin/mysql --host=localhost -uroot -proot source: http://blog-en.mamp.info/2009/08/using-mysql-command-line-with-mamp.html
When I got this error, I was able to fix this by running: gem install devtools
I can't run bundler, keep getting error
I have just migrated my RoR dev environmnent over to Ubuntu. I pulled a project that I'm working on from github, and am attempting to install all of the necessary gems. However, whenever I run bundle or bundle install or bundle install exec I get the following error: edu#edu:~/Workspace/SuitBrokers$ bundle install exec Fetching source index for http://rubygems.org/ Installing rake (0.9.2.2) Installing multi_json (1.0.3) Installing activesupport (3.1.0) Installing bcrypt-ruby (3.0.1) with native extensions Installing builder (3.0.0) Installing i18n (0.6.0) Installing activemodel (3.1.0) Installing erubis (2.7.0) Installing rack (1.3.5) Installing rack-cache (1.0.3) Installing rack-mount (0.8.3) Installing rack-test (0.6.1) Installing hike (1.2.1) Installing tilt (1.3.3) Installing sprockets (2.0.3) Installing actionpack (3.1.0) Installing mime-types (1.17.2) Installing polyglot (0.3.3) Installing treetop (1.4.10) Installing mail (2.3.0) Installing actionmailer (3.1.0) Installing arel (2.2.1) Installing tzinfo (0.3.31) Installing activerecord (3.1.0) Installing activeresource (3.1.0) Installing ansi (1.4.1) Using bundler (1.0.21) Installing cocaine (0.2.0) Installing coffee-script-source (1.1.3) Installing execjs (1.2.9) Installing coffee-script (2.2.0) Installing rack-ssl (1.3.2) Installing json (1.6.1) with native extensions Installing rdoc (3.11) Installing thor (0.14.6) Installing railties (3.1.0) Installing coffee-rails (3.1.1) Installing jquery-rails (1.0.18) Installing mysql (2.8.1) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /home/edu/.rvm/rubies/ruby-1.9.2-p290/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 --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/edu/.rvm/rubies/ruby-1.9.2-p290/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}/lib --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/edu/Workspace/SuitBrokers/exec/ruby/1.9.1/gems/mysql-2.8.1 for inspection. Results logged to /home/edu/Workspace/SuitBrokers/exec/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/gem_make.out An error occured while installing mysql (2.8.1), and Bundler cannot continue. Make sure that `gem install mysql -v '2.8.1'` succeeds before bundling. Has anyone dealt with this particular pain? Your help is eternally appreciated.
You need to tell bundler where to find the mysql-dev stuff on your box. Usually something like the following will work: bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config Of course, you'll need to replace the path above with your actual path to mysql_config. If you don't have mysql_config installed then you will need the mysql-dev package installed on your server. It looks like you're probably on a shared server, so hopefully the development package is already installed. If not, you'll need to request it.
The library you're missing, on Ubuntu 14.04 (Trusty) is: libmysqlclient-dev. The line below did the trick for me: sudo apt-get install libmysqlclient-dev
How do I install the Rails MySQL adapter?
There's not much more to my question than that. gem install mysql doesn't work and I haven't found anything by Googling. When I try gem install mysql2, this is what I get. I don't know what to do now. jason#buster:~/projects/mcif-rails$ gem install mysql2 Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /home/jason/.rvm/rubies/ruby-1.9.2-p136/bin/ruby extconf.rb checking for rb_thread_blocking_region()... yes 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/jason/.rvm/rubies/ruby-1.9.2-p136/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}/lib --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/jason/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6 for inspection. Results logged to /home/jason/.rvm/gems/ruby-1.9.2-p136/gems/mysql2-0.2.6/ext/mysql2/gem_make.out
It looks like you still need to install MySQL's development libraries. These are required for the gem to build successfully on your system. [Edit] Seems the RoR Wiki is no longer available. But, Ubuntu has offered their own walkthrough which suggests: sudo apt-get install mysql-server mysql-client sudo apt-get install libmysql-ruby libmysqlclient-dev sudo gem install mysql See http://wiki.rubyonrails.org/database-support/mysql#installation for more detail. Example: Ubuntu sudo apt-get install mysql-server mysql-server-5.0 libmysqlclient15off \ libmysqlclient15-dev mysql-client-5.0 mysql-common sudo apt-get install libmysql++-dev sudo gem install mysql
I'll just leave this here: I ran into a similar problem, then realized I couldn't install the mysql2 gem without having MySQL installed on my development machine (even though I'm only using the mysql2 gem to connect to a remote MySQL server). ::forehead slap:: brew install mysql then, in my Gemfile: gem 'mysql2', '~> 0.3.11' followed by a quick bundle install Success!
If you are running Rails 3 you should use the mysql2 gem. You can install it with: gem install mysql2 You will need to first install MySQL and any development headers. This will vary across different operating systems. On Ubuntu, you can run: aptitude install mysql-server aptitude install mysql-client aptitude install mysql-common aptitude install libmysql-ruby aptitude install libmysqlclient-dev If you are creating a new project, use: rails new sample --database=mysql cd sample bundle install For more details, check out the project repository.
I assume you are working with Rails. In your Gemfile: gem 'mysql2' Then in your terminal: bundle
In 2013, Using Ubuntu 12.04, this worked for me: sudo apt-get install mysql-client libmysqlclient-dev bundle install
Difficulties installing mysql gem on Ubuntu
I am trying to install the mysql 2.8.1 gem. I would be using it to build a Rails 2.0.2 application on Ubuntu 10.04. I would be using Ruby 1.8.7. I have installed the development dependencies(other gems). For some reasons I am unable to install it. I am not able to exactly figure out how to fix it. Please help!! I get the following in the terminal when I try to install it: mohnish#pc146724-desktop:~/Downloads$ sudo gem install mysql-2.8.1.gem Building native extensions. This could take a while... ERROR: Error installing mysql-2.8.1.gem: ERROR: Failed to build gem native extension. /usr/bin/ruby1.8 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=/usr/bin/ruby1.8 --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}/lib --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 /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection. Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out mohnish#pc146724-desktop:~/Downloads$ Thanks for your help!!
Try this and then install the mysql gem: sudo apt-get install libmysqlclient-dev If that's not sufficient try it like this sudo apt-get install libmysqlclient-dev libmysqlclient16 ruby-dev
Try this and then install the mysql gem: sudo apt-get install libmysqlclient-dev libmysqlclient16 This worked after then running sudo gem install mysql. The documentation still doesn't install correctly (heaps of "No definition" errors, although thats not really a biggie.
You should do what the error message tells you: check the mkmf.log! Search for this file using find /usr/lib/ruby/gems/1.8/gems/ -name mkmf.log. Usually, this error message appears because you forgot to install the -dev package for the extension you were trying to install. So if you wanted to install the mysql gem, you probably forgot to install the libmysqlclient14-dev first. Do an apt-cache search | grep dev to find the appropriate packages. plz check this for more information
In my case, I had the following error message: An error occurred while installing mysql (2.8.1), and Bundler cannot continue. Make sure that gem install mysql -v '2.8.1' succeeds before bundling. I tried: gem install mysql -v '2.8.1', and I got an error message similar to what you got. I fixed it doing the following: STEP (1): run this: sudo apt-get install libmysqlclient-dev STEP (2): install mysql: gem install mysql -v 2.8.1 You should get a success message similar to this: Successfully installed mysql-2.8.1 Installing ri documentation for mysql-2.8.1 1 gem installed I hope my answer helps.