0
votes

On running bundle install, coming up with the following error. So it's not an issue of finding the config file - it knows where it is...just not executing it. I do have xcode installed. I've checked on multiple questions and a lot of it is pointing me to being explicit on where the config file is, but that's not my issue per se. Any ideas?

Installing mysql2 0.3.21 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /private/var/folders/sx/dm2qzym54v1c2_1kvkt1c_t80000gn/T/bundler20181107-70107-16xf5wjmysql2-0.3.21/gems/mysql2-0.3.21/ext/mysql2
/Users/cecillesalazar/.rbenv/versions/2.1.4/bin/ruby -r ./siteconf20181107-70107-13kana8.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()... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
-----
Cannot execute mysql_config at /usr/local/bin/mysql_config
-----
*** 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=/Users/cecillesalazar/.rbenv/versions/2.1.4/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

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /var/folders/sx/dm2qzym54v1c2_1kvkt1c_t80000gn/T/bundler20181107-70107-16xf5wjmysql2-0.3.21/extensions/x86_64-darwin-18/2.1.0-static/mysql2-0.3.21/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /var/folders/sx/dm2qzym54v1c2_1kvkt1c_t80000gn/T/bundler20181107-70107-16xf5wjmysql2-0.3.21/gems/mysql2-0.3.21 for inspection.
Results logged to /var/folders/sx/dm2qzym54v1c2_1kvkt1c_t80000gn/T/bundler20181107-70107-16xf5wjmysql2-0.3.21/extensions/x86_64-darwin-18/2.1.0-static/mysql2-0.3.21/gem_make.out

An error occurred while installing mysql2 (0.3.21), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.21'` succeeds before bundling.

In Gemfile:
  mysql2
1
Does /usr/local/bin/mysql_config exist? Do you have permission to execute it? Make sure you can connect to the server using mysql client before installing gem.Jared Beck
Yup, it definitely exists. I've opened it up before and I have permissions to rwx.CSalazar

1 Answers

0
votes

I have dealt with this non-sense probably at every job I've been at. Sometimes, depending on how you set up your system, you could just have multiple version in your path or perhaps the wrong one showing up by default. Either wa, this usually means there is a lib or bin path issue.

Try installing it with this first (without sudo, if that fails, then sudo), then run bundle. It could actually be failing because the gem doesn't have permissions to install the extensions.

sudo gem install mysql -- —–with-mysql-config=/usr/local/bin/mysql_config

from this other post

If that still fails, then can you post these:

echo $PATH and echo $DYLD_LIBRARY_PATH

(edit: I think I had the wrong mysql path, but please make sure you don't have multiple paths. Could you verify that /usr/local/mysql/bin/mysql_config doesn't also exist? )