I’m currently teaching myself Ruby from The Ruby Way. Chapter 12 is on “Graphical Interfaces for Ruby” and one of the libraries covered is GTK2. Unlike Tk, this is not included in the standard Ruby library. I initially tried:
sudo gem install gtk2
This failed however with the following error output:
Fetching: pkg-config-1.1.4.gem (100%) Fetching: glib2-1.1.9.gem (100%) Building native extensions. This could take a while... ERROR: Error installing gtk2: ERROR: Failed to build gem native extension. /Users/dchetwyn/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb checking for -Wall option to compiler... yes checking for -Waggregate-return option to compiler... yes checking for -Wcast-align option to compiler... yes checking for -Wextra option to compiler... yes checking for -Wformat=2 option to compiler... yes checking for -Winit-self option to compiler... yes checking for -Wlarger-than-65500 option to compiler... yes checking for -Wmissing-declarations option to compiler... yes checking for -Wmissing-format-attribute option to compiler... yes checking for -Wmissing-include-dirs option to compiler... yes checking for -Wmissing-noreturn option to compiler... yes checking for -Wmissing-prototypes option to compiler... yes checking for -Wnested-externs option to compiler... yes checking for -Wold-style-definition option to compiler... yes checking for -Wpacked option to compiler... yes checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes checking for -Wpointer-arith option to compiler... yes checking for -Wswitch-default option to compiler... yes checking for -Wswitch-enum option to compiler... yes checking for -Wundef option to compiler... yes checking for -Wunsafe-loop-optimizations option to compiler... yes checking for -Wwrite-strings option to compiler... yes checking for rb_define_alloc_func() in ruby.h... yes checking for rb_block_proc() in ruby.h... yes checking for new allocation framework... yes checking for attribute assignment... no checking for Win32 OS... no checking for gobject-2.0... no checking for brew... yes installing 'glib' native package... failed failed to run 'brew install glib'. *** 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/dchetwyn/.rvm/rubies/ruby-1.9.3-p194/bin/ruby --with-pkg-config --without-pkg-config --with-override-variables --without-override-variables Gem files will remain installed in /Users/dchetwyn/.rvm/gems/ruby-1.9.3-p194/gems/glib2-1.1.9 for inspection. Results logged to /Users/dchetwyn/.rvm/gems/ruby-1.9.3-p194/gems/glib2-1.1.9/ext/glib2/gem_make.out
This error output is not initially clear as to what the problem is. Googling for the problem suggested that I needed to install libgtk2.0-dev first. Further investigation revealed though that a simpler solution was to run
brew install gtk+
and then run the original command again:
sudo gem install gtk2
