1. installing mysql with rails —— in linux with bundler

    Most of the rails developers use mysql as their backend, so do I. Few days back I got a fresh machine to install ruby / rails.

    While I’m pretty impressive with bundler installation (bundler was able to install all my gems smoothly), It had a problem with mysql gem.Following is the error I got

    Installing mysql (2.8.1) with native extensions /usr/lib/ruby/1.8/rubygems/installer.rb:483:in `build_extensions’: ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

    /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

    This be basically because when I’m installing mysql on my linux box, i missed some header files. to install them I need to install mysql-dev packages, its not hard

    just go to synaptic package manager, select following files to be install

    libmysqlclient-dev
    libmysqlclient16

    thats it.. now go to bundler

    sudo bundle install

    should work perfectly

    credit goes to

    http://stackoverflow.com/questions/3754662/errors-installing-mysql2-gem-via-the-bundler

Notes

  1. keepthingssimple posted this