Search code examples
ruby-on-railsrubygemskdtree

Installing kdtree on OS X 10.9, failed to compile native extensions


You might run into an issue compiling the kdtree gem's native extensions on your machine. The error might look a bit like the following:

X-MacBook-Pro:Pitot X$ sudo gem install kdtree
Building native extensions.  This could take a while...
ERROR:  Error installing kdtree:
ERROR: Failed to build gem native extension.

/Users/X/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb
creating Makefile

make
compiling kdtree.c
In file included from /Users/X/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby.h:32,
             from kdtree.c:1:
/Users/X/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:48:21: error: string.h: No such file or directory
/Users/X/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:58:21: error: stdint.h: No such file or directory
/Users/X/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:61:23: error: inttypes.h: No such file or directory
/Users/X/.rvm/rubies/ruby-1.9.3-p327/include/ruby-1.9.1/ruby/ruby.h:65:19: error: stdio.h: No such file or directory

<snip>

Solution

  • This can be fixed by running:

    xcode-select --install
    

    And then running:

    sudo gem install kdtree
    

    Before running bundler.