This is on an Ubuntu Hardy system, on x86_64. Both Ruby 1.8 and 1.9 are 
installed.

I was tracking down the lack of ruby.h, which surprised me, as ruby1.8-dev is 
installed. Scrolling up even further, though, and something just seems wrong 
about these three lines:

rake RUBYARCHDIR=/var/lib/gems/1.8/gems/ruby-opengl-0.60.0/lib 
RUBYLIBDIR=/var/lib/gems/1.8/gems/ruby-opengl-0.60.0/lib extension
/usr/bin/ruby1.9 mkrf_conf.rb
(in /var/lib/gems/1.8/gems/ruby-opengl-0.60.0)

Why is ruby1.9 being used to run mkrf_conf.rb? I am using a 1.8 gem -- as you 
can see, it's trying to install in a 1.8 path, and:

$ head -1 `which gem`
#! /usr/bin/ruby1.8
$ head -1 `which gem1.9`
#!/usr/bin/ruby1.9

I am sure I was using 'gem', and not 'gem1.9'.

Full log from /var/lib/gems/1.8/gems/ruby-opengl-0.60.0/gem_make.out:

rake RUBYARCHDIR=/var/lib/gems/1.8/gems/ruby-opengl-0.60.0/lib 
RUBYLIBDIR=/var/lib/gems/1.8/gems/ruby-opengl-0.60.0/lib extension
/usr/bin/ruby1.9 mkrf_conf.rb
(in /var/lib/gems/1.8/gems/ruby-opengl-0.60.0)
rake
cc  -fPIC -fno-strict-aliasing -g  -fPIC    -Wall -DRUBY_VERSION=190  -I/usr/include/ruby-1.9.0 -I/usr/include/ruby-1.9.0/x86_64-linux -I/usr/lib/ruby/1.9.0/x86_64-linux -I/usr/local/lib/site_ruby/1.9.0 -I. -c 
gl.c
(in /var/lib/gems/1.8/gems/ruby-opengl-0.60.0/ext/gl)
In file included from gl.c:18:
../common/common.h:25:18: error: ruby.h: No such file or directory
In file included from ../common/common.h:51,
                 from gl.c:18:
../common/gl-error.h:16: warning: parameter names (without types) in function 
declaration
../common/gl-error.h:18: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« 
or °∆__attribute__°« before °∆error_checking°«
../common/gl-error.h:19: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« 
or °∆__attribute__°« before °∆inside_begin_end°«
In file included from ../common/common.h:54,
                 from gl.c:18:
../common/conv.h: In function °∆num2double°«:
../common/conv.h:55: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:55: warning: implicit declaration of function °∆FIXNUM_P°«
../common/conv.h:55: warning: implicit declaration of function °∆FIX2LONG°«
../common/conv.h:55: warning: implicit declaration of function °∆TYPE°«
../common/conv.h:55: error: °∆T_FLOAT°« undeclared (first use in this function)
../common/conv.h:55: error: (Each undeclared identifier is reported only once
../common/conv.h:55: error: for each function it appears in.)
../common/conv.h:55: warning: implicit declaration of function °∆RFLOAT°«
../common/conv.h:55: error: invalid type argument of °∆->°«
../common/conv.h:55: error: °∆Qtrue°« undeclared (first usein this function)
../common/conv.h:55: error: °∆Qfalse°« undeclared (first use in this function)
../common/conv.h:55: error: °∆Qnil°« undeclared (first use in this function)
../common/conv.h:55: warning: implicit declaration of function °∆rb_num2dbl°«
../common/conv.h: In function °∆num2int°«:
../common/conv.h:62: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:62: error: °∆T_FLOAT°« undeclared (first use in this function)
../common/conv.h:62: error: invalid type argument of °∆->°«
../common/conv.h:62: error: °∆Qtrue°« undeclared (first usein this function)
../common/conv.h:62: error: °∆Qfalse°« undeclared (first use in this function)
../common/conv.h:62: error: °∆Qnil°« undeclared (first use in this function)
../common/conv.h:62: warning: implicit declaration of function °∆NUM2LONG°«
../common/conv.h: In function °∆num2uint°«:
../common/conv.h:63: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:63: warning: implicit declaration of function °∆FIX2ULONG°«
../common/conv.h:63: error: °∆T_FLOAT°« undeclared (first use in this function)
../common/conv.h:63: error: invalid type argument of °∆->°«
../common/conv.h:63: error: °∆Qtrue°« undeclared (first usein this function)
../common/conv.h:63: error: °∆Qfalse°« undeclared (first use in this function)
../common/conv.h:63: error: °∆Qnil°« undeclared (first use in this function)
../common/conv.h:63: warning: implicit declaration of function °∆NUM2ULONG°«
../common/conv.h: At top level:
../common/conv.h:114: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆cond_GLBOOL2RUBY°«
../common/conv.h:115: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆cond_GLBOOL2RUBY_U°«
../common/conv.h:116: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆cond_GLBOOL2RUBY_LL°«
../common/conv.h:117: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆cond_GLBOOL2RUBY_ULL°«
../common/conv.h:118: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆cond_GLBOOL2RUBY_F°«
../common/conv.h:119: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆cond_GLBOOL2RUBY_D°«
../common/conv.h: In function °∆ary2cint°«:
../common/conv.h:142: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:142: warning: implicit declaration of function °∆RARRAY°«
../common/conv.h:142: warning: implicit declaration of function °∆rb_Array°«
../common/conv.h:142: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:142: error: dereferencing pointer to incomplete type
../common/conv.h:142: error: dereferencing pointer to incomplete type
../common/conv.h:142: error: dereferencing pointer to incomplete type
../common/conv.h:142: warning: implicit declaration of function °∆rb_ary_entry°«
../common/conv.h:142: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:142: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cuint°«:
../common/conv.h:143: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:143: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:143: error: dereferencing pointer to incomplete type
../common/conv.h:143: error: dereferencing pointer to incomplete type
../common/conv.h:143: error: dereferencing pointer to incomplete type
../common/conv.h:143: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:143: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cbyte°«:
../common/conv.h:144: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:144: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:144: error: dereferencing pointer to incomplete type
../common/conv.h:144: error: dereferencing pointer to incomplete type
../common/conv.h:144: error: dereferencing pointer to incomplete type
../common/conv.h:144: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:144: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cubyte°«:
../common/conv.h:145: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:145: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:145: error: dereferencing pointer to incomplete type
../common/conv.h:145: error: dereferencing pointer to incomplete type
../common/conv.h:145: error: dereferencing pointer to incomplete type
../common/conv.h:145: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:145: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cshort°«:
../common/conv.h:146: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:146: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:146: error: dereferencing pointer to incomplete type
../common/conv.h:146: error: dereferencing pointer to incomplete type
../common/conv.h:146: error: dereferencing pointer to incomplete type
../common/conv.h:146: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:146: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cushort°«:
../common/conv.h:147: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:147: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:147: error: dereferencing pointer to incomplete type
../common/conv.h:147: error: dereferencing pointer to incomplete type
../common/conv.h:147: error: dereferencing pointer to incomplete type
../common/conv.h:147: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:147: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cboolean°«:
../common/conv.h:148: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:148: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:148: error: dereferencing pointer to incomplete type
../common/conv.h:148: error: dereferencing pointer to incomplete type
../common/conv.h:148: error: dereferencing pointer to incomplete type
../common/conv.h:148: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:148: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cfloat°«:
../common/conv.h:149: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:149: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:149: error: dereferencing pointer to incomplete type
../common/conv.h:149: error: dereferencing pointer to incomplete type
../common/conv.h:149: error: dereferencing pointer to incomplete type
../common/conv.h:149: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:149: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cdouble°«:
../common/conv.h:150: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:150: warning: assignment makes pointer from integer without a 
cast
../common/conv.h:150: error: dereferencing pointer to incomplete type
../common/conv.h:150: error: dereferencing pointer to incomplete type
../common/conv.h:150: error: dereferencing pointer to incomplete type
../common/conv.h:150: error: °∆VALUE°« undeclared (first use in this function)
../common/conv.h:150: error: expected °∆)°« before °∆ary°«
../common/conv.h: In function °∆ary2cmatdouble°«:
../common/conv.h:176: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:176: warning: implicit declaration of function °∆rb_funcall°«
../common/conv.h:176: warning: implicit declaration of function °∆rb_intern°«
../common/conv.h:176: error: invalid type argument of °∆->°«
../common/conv.h:176: warning: implicit declaration of function °∆rb_raise°«
../common/conv.h:176: error: °∆rb_eArgError°« undeclared (first use in this 
function)
../common/conv.h: In function °∆ary2cmatfloat°«:
../common/conv.h:177: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:177: error: invalid type argument of °∆->°«
../common/conv.h:177: error: °∆rb_eArgError°« undeclared (first use in this 
function)
../common/conv.h: In function °∆ary2cmatdoublecount°«:
../common/conv.h:200: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:200: warning: implicit declaration of function °∆RARRAY_LEN°«
../common/conv.h:200: warning: implicit declaration of function °∆xfree°«
../common/conv.h:200: error: °∆rb_eArgError°« undeclared (first use in this 
function)
../common/conv.h: In function °∆ary2cmatfloatcount°«:
../common/conv.h:201: error: expected declaration specifiers before °∆VALUE°«
../common/conv.h:201: error: °∆rb_eArgError°« undeclared (first use in this 
function)
In file included from gl.c:18:
../common/common.h: At top level:
../common/common.h:81: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆cProc°«
../common/common.h: In function °∆glformat_size°«:
../common/common.h:173: error: °∆rb_eArgError°« undeclared (first use in this 
function)
../common/common.h: In function °∆gltype_glformat_unit_size°«:
../common/common.h:231: error: °∆rb_eArgError°« undeclared (first use in this 
function)
../common/common.h: In function °∆get_uniform_size°«:
../common/common.h:316: error: °∆rb_eTypeError°« undeclared(first use in this 
function)
../common/common.h: At top level:
../common/common.h:338: error: expected declaration specifiers or °∆...°« 
before °∆VALUE°«
../common/common.h: In function °∆CheckDataSize°«:
../common/common.h:344: warning: implicit declaration of 
function °∆RSTRING_LEN°«
../common/common.h:344: error: °∆data°« undeclared (first use in this function)
../common/common.h:345: error: °∆rb_eArgError°« undeclared (first use in this 
function)
../common/common.h: At top level:
../common/common.h:349: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« 
or °∆__attribute__°« before °∆allocate_buffer_with_string°«
../common/common.h: In function °∆load_gl_function°«:
../common/common.h:390: error: °∆rb_eNotImpError°« undeclared (first use in this 
function)
../common/common.h: At top level:
../common/common.h:395: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« 
or °∆__attribute__°« before °∆pack_array_or_pass_string°«
gl.c:20: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆module°«
gl.c:22: warning: parameter names (without types) in function declaration
gl.c:23: warning: parameter names (without types) in function declaration
gl.c:24: warning: parameter names (without types) in function declaration
gl.c:25: warning: parameter names (without types) in function declaration
gl.c:26: warning: parameter names (without types) in function declaration
gl.c:27: warning: parameter names (without types) in function declaration
gl.c:28: warning: parameter names (without types) in function declaration
gl.c:29: warning: parameter names (without types) in function declaration
gl.c:30: warning: parameter names (without types) in function declaration
gl.c:31: warning: parameter names (without types) in function declaration
gl.c:32: warning: parameter names (without types) in function declaration
gl.c:33: warning: parameter names (without types) in function declaration
gl.c:34: warning: parameter names (without types) in function declaration
gl.c:35: warning: parameter names (without types) in function declaration
gl.c: In function °∆GetOpenglVersion°«:
gl.c:49: error: °∆error_checking°« undeclared (first use in this function)
gl.c:49: error: °∆Qtrue°« undeclared (first use in this function)
gl.c:49: error: °∆inside_begin_end°« undeclared (first use inthis function)
gl.c:49: error: °∆Qfalse°« undeclared (first use in this function)
gl.c:51: warning: implicit declaration of function °∆sscanf°«
gl.c:51: warning: incompatible implicit declaration of built-in 
function °∆sscanf°«
gl.c: In function °∆GetOpenglExtensions°«:
gl.c:79: error: °∆error_checking°« undeclared (first use in this function)
gl.c:79: error: °∆Qtrue°« undeclared (first use in this function)
gl.c:79: error: °∆inside_begin_end°« undeclared (first use inthis function)
gl.c:79: error: °∆Qfalse°« undeclared (first use in this function)
gl.c:81: warning: implicit declaration of function °∆strlen°«
gl.c:81: warning: incompatible implicit declaration of built-in 
function °∆strlen°«
gl.c:82: warning: implicit declaration of function °∆ALLOC_N°«
gl.c:82: error: expected expression before °∆GLchar°«
gl.c:82: warning: assignment makes pointer from integer without a cast
gl.c:83: warning: implicit declaration of function °∆strcpy°«
gl.c:83: warning: incompatible implicit declaration of built-in 
function °∆strcpy°«
gl.c: In function °∆CheckExtension°«:
gl.c:106: warning: incompatible implicit declaration of built-in 
function °∆strlen°«
gl.c:107: error: expected expression before °∆GLchar°«
gl.c:107: warning: assignment makes pointer from integer without a cast
gl.c:108: warning: incompatible implicit declaration of built-in 
function °∆strcpy°«
gl.c:112: warning: implicit declaration of function °∆strstr°«
gl.c:112: warning: incompatible implicit declaration of built-in 
function °∆strstr°«
gl.c: In function °∆CheckVersionExtension°«:
gl.c:128: warning: incompatible implicit declaration of built-in 
function °∆sscanf°«
gl.c: At top level:
gl.c:140: error: expected °∆=°«, °∆,°«, °∆;°«, °∆asm°« or °∆__attribute__°« 
before °∆IsAvailable°«
gl.c:142: error: expected identifier or °∆(°« before °∆{°« token
gl.c: In function °∆CheckBufferBinding°«:
gl.c:175: error: °∆rb_eRuntimeError°« undeclared (first use in this function)
gl.c:179: error: °∆error_checking°« undeclared (first use in this function)
gl.c:179: error: °∆Qtrue°« undeclared (first use in this function)
gl.c:179: error: °∆inside_begin_end°« undeclared (first use in this function)
gl.c:179: error: °∆Qfalse°« undeclared (first use in this function)
gl.c: In function °∆Init_gl°«:
gl.c:185: error: °∆VALUE°« undeclared (first use in this function)
gl.c:185: error: expected °∆;°« before °∆VERSION°«
gl.c:187: error: °∆module°« undeclared (first use in this function)
gl.c:187: warning: implicit declaration of function °∆rb_define_module°«
gl.c:189: warning: implicit declaration of function °∆rb_define_const°«
gl.c:189: error: °∆VERSION°« undeclared (first use in this function)
gl.c:208: warning: implicit declaration of 
function °∆rb_define_module_function°«
gl.c:208: error: °∆IsAvailable°« undeclared (first use in this function)
rake aborted!
Command failed with status (1): 
[cc  -fPIC -fno-strict-aliasing -g  -fPIC  ...]
/var/lib/gems/1.8/gems/ruby-opengl-0.60.0/ext/gl/Rakefile:29:in `block in <top 
(required)>'
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [rake...]

(See full trace by running task with --trace)