ERROR: Failed to build gem native extension.

I ran into a tiny pickle while installing the ibm_db gem on Ubuntu:

Select which gem to install for your platform (i486-linux)
 1. ibm_db 0.9.5 (ruby)
 2. ibm_db 0.9.5 (mswin32)
 3. ibm_db 0.9.4 (ruby)
 4. ibm_db 0.9.4 (mswin32)
 5. Skip this gem
 6. Cancel installation
> 1
Building native extensions.  This could take a while...
ERROR:  While executing gem ... (Gem::Installer::ExtensionBuildError)
    ERROR: Failed to build gem native extension.

ruby extconf.rb install ibm_db
extconf.rb:9:in `require': no such file to load -- mkmf (LoadError)
	from extconf.rb:9

The problem is that mkmf isn’t included in the base Ruby package on Ubuntu. You need need the full development package to install gems from source. Installing it solves the problem.

sudo apt-get install ruby1.8-dev

4 Comments to “ERROR: Failed to build gem native extension.”

  1. Error: please fill the required fields (name, email). 3 July 2008 at 18:54 #

    pickles are in python not ruby :)

  2. Leons Petrazickis 7 July 2008 at 11:46 #

    I think you will find that they are actually in PHP, what with PECL and all.

    http://pecl.php.net/

  3. Faisal 22 November 2008 at 01:54 #

    Thanks a lot it solved my problem.I was missing the package i.e ruby1.8-dev

  4. cz9qvh 3 June 2009 at 15:25 #

    Thank you, that helped a bunch.