[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

ruby-opengl gem uses ruby1.9, even from gem1.8

David Masover

5/28/2008 8:14:00 AM

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

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

rake RUBYARCHDIR=3D/var/lib/gems/1.8/gems/ruby-opengl-0.60.0/lib=20
RUBYLIBDIR=3D/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 y=
ou=20
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'.

=46ull log from /var/lib/gems/1.8/gems/ruby-opengl-0.60.0/gem_make.out:

rake RUBYARCHDIR=3D/var/lib/gems/1.8/gems/ruby-opengl-0.60.0/lib=20
RUBYLIBDIR=3D/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=3D190 -I/=
usr/include/ruby-1.9.0 -I/usr/include/ruby-1.9.0/x86_64-linux -I/usr/lib/ru=
by/1.9.0/x86_64-linux -I/usr/local/lib/site_ruby/1.9.0 -I. -c=20
gl.c
(in /var/lib/gems/1.8/gems/ruby-opengl-0.60.0/ext/gl)
In file included from gl.c:18:
=2E./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:
=2E./common/gl-error.h:16: warning: parameter names (without types) in func=
tion=20
declaration
=2E./common/gl-error.h:18: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98=
,=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99=20
or =E2=80=98__attribute__=E2=80=99 before =E2=80=98error_checking=E2=80=99
=2E./common/gl-error.h:19: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98=
,=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99=20
or =E2=80=98__attribute__=E2=80=99 before =E2=80=98inside_begin_end=E2=80=99
In file included from ../common/common.h:54,
from gl.c:18:
=2E./common/conv.h: In function =E2=80=98num2double=E2=80=99:
=2E./common/conv.h:55: error: expected declaration specifiers before =E2=80=
=98VALUE=E2=80=99
=2E./common/conv.h:55: warning: implicit declaration of function =E2=80=98F=
IXNUM_P=E2=80=99
=2E./common/conv.h:55: warning: implicit declaration of function =E2=80=98F=
IX2LONG=E2=80=99
=2E./common/conv.h:55: warning: implicit declaration of function =E2=80=98T=
YPE=E2=80=99
=2E./common/conv.h:55: error: =E2=80=98T_FLOAT=E2=80=99 undeclared (first u=
se in this function)
=2E./common/conv.h:55: error: (Each undeclared identifier is reported only =
once
=2E./common/conv.h:55: error: for each function it appears in.)
=2E./common/conv.h:55: warning: implicit declaration of function =E2=80=98R=
=46LOAT=E2=80=99
=2E./common/conv.h:55: error: invalid type argument of =E2=80=98->=E2=80=99
=2E./common/conv.h:55: error: =E2=80=98Qtrue=E2=80=99 undeclared (first use=
in this function)
=2E./common/conv.h:55: error: =E2=80=98Qfalse=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:55: error: =E2=80=98Qnil=E2=80=99 undeclared (first use =
in this function)
=2E./common/conv.h:55: warning: implicit declaration of function =E2=80=98r=
b_num2dbl=E2=80=99
=2E./common/conv.h: In function =E2=80=98num2int=E2=80=99:
=2E./common/conv.h:62: error: expected declaration specifiers before =E2=80=
=98VALUE=E2=80=99
=2E./common/conv.h:62: error: =E2=80=98T_FLOAT=E2=80=99 undeclared (first u=
se in this function)
=2E./common/conv.h:62: error: invalid type argument of =E2=80=98->=E2=80=99
=2E./common/conv.h:62: error: =E2=80=98Qtrue=E2=80=99 undeclared (first use=
in this function)
=2E./common/conv.h:62: error: =E2=80=98Qfalse=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:62: error: =E2=80=98Qnil=E2=80=99 undeclared (first use =
in this function)
=2E./common/conv.h:62: warning: implicit declaration of function =E2=80=98N=
UM2LONG=E2=80=99
=2E./common/conv.h: In function =E2=80=98num2uint=E2=80=99:
=2E./common/conv.h:63: error: expected declaration specifiers before =E2=80=
=98VALUE=E2=80=99
=2E./common/conv.h:63: warning: implicit declaration of function =E2=80=98F=
IX2ULONG=E2=80=99
=2E./common/conv.h:63: error: =E2=80=98T_FLOAT=E2=80=99 undeclared (first u=
se in this function)
=2E./common/conv.h:63: error: invalid type argument of =E2=80=98->=E2=80=99
=2E./common/conv.h:63: error: =E2=80=98Qtrue=E2=80=99 undeclared (first use=
in this function)
=2E./common/conv.h:63: error: =E2=80=98Qfalse=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:63: error: =E2=80=98Qnil=E2=80=99 undeclared (first use =
in this function)
=2E./common/conv.h:63: warning: implicit declaration of function =E2=80=98N=
UM2ULONG=E2=80=99
=2E./common/conv.h: At top level:
=2E./common/conv.h:114: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribu=
te__=E2=80=99=20
before =E2=80=98cond_GLBOOL2RUBY=E2=80=99
=2E./common/conv.h:115: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribu=
te__=E2=80=99=20
before =E2=80=98cond_GLBOOL2RUBY_U=E2=80=99
=2E./common/conv.h:116: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribu=
te__=E2=80=99=20
before =E2=80=98cond_GLBOOL2RUBY_LL=E2=80=99
=2E./common/conv.h:117: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribu=
te__=E2=80=99=20
before =E2=80=98cond_GLBOOL2RUBY_ULL=E2=80=99
=2E./common/conv.h:118: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribu=
te__=E2=80=99=20
before =E2=80=98cond_GLBOOL2RUBY_F=E2=80=99
=2E./common/conv.h:119: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribu=
te__=E2=80=99=20
before =E2=80=98cond_GLBOOL2RUBY_D=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cint=E2=80=99:
=2E./common/conv.h:142: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:142: warning: implicit declaration of function =E2=80=98=
RARRAY=E2=80=99
=2E./common/conv.h:142: warning: implicit declaration of function =E2=80=98=
rb_Array=E2=80=99
=2E./common/conv.h:142: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:142: error: dereferencing pointer to incomplete type
=2E./common/conv.h:142: error: dereferencing pointer to incomplete type
=2E./common/conv.h:142: error: dereferencing pointer to incomplete type
=2E./common/conv.h:142: warning: implicit declaration of function =E2=80=98=
rb_ary_entry=E2=80=99
=2E./common/conv.h:142: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:142: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cuint=E2=80=99:
=2E./common/conv.h:143: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:143: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:143: error: dereferencing pointer to incomplete type
=2E./common/conv.h:143: error: dereferencing pointer to incomplete type
=2E./common/conv.h:143: error: dereferencing pointer to incomplete type
=2E./common/conv.h:143: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:143: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cbyte=E2=80=99:
=2E./common/conv.h:144: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:144: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:144: error: dereferencing pointer to incomplete type
=2E./common/conv.h:144: error: dereferencing pointer to incomplete type
=2E./common/conv.h:144: error: dereferencing pointer to incomplete type
=2E./common/conv.h:144: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:144: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cubyte=E2=80=99:
=2E./common/conv.h:145: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:145: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:145: error: dereferencing pointer to incomplete type
=2E./common/conv.h:145: error: dereferencing pointer to incomplete type
=2E./common/conv.h:145: error: dereferencing pointer to incomplete type
=2E./common/conv.h:145: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:145: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cshort=E2=80=99:
=2E./common/conv.h:146: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:146: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:146: error: dereferencing pointer to incomplete type
=2E./common/conv.h:146: error: dereferencing pointer to incomplete type
=2E./common/conv.h:146: error: dereferencing pointer to incomplete type
=2E./common/conv.h:146: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:146: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cushort=E2=80=99:
=2E./common/conv.h:147: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:147: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:147: error: dereferencing pointer to incomplete type
=2E./common/conv.h:147: error: dereferencing pointer to incomplete type
=2E./common/conv.h:147: error: dereferencing pointer to incomplete type
=2E./common/conv.h:147: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:147: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cboolean=E2=80=99:
=2E./common/conv.h:148: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:148: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:148: error: dereferencing pointer to incomplete type
=2E./common/conv.h:148: error: dereferencing pointer to incomplete type
=2E./common/conv.h:148: error: dereferencing pointer to incomplete type
=2E./common/conv.h:148: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:148: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cfloat=E2=80=99:
=2E./common/conv.h:149: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:149: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:149: error: dereferencing pointer to incomplete type
=2E./common/conv.h:149: error: dereferencing pointer to incomplete type
=2E./common/conv.h:149: error: dereferencing pointer to incomplete type
=2E./common/conv.h:149: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:149: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cdouble=E2=80=99:
=2E./common/conv.h:150: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:150: warning: assignment makes pointer from integer with=
out a=20
cast
=2E./common/conv.h:150: error: dereferencing pointer to incomplete type
=2E./common/conv.h:150: error: dereferencing pointer to incomplete type
=2E./common/conv.h:150: error: dereferencing pointer to incomplete type
=2E./common/conv.h:150: error: =E2=80=98VALUE=E2=80=99 undeclared (first us=
e in this function)
=2E./common/conv.h:150: error: expected =E2=80=98)=E2=80=99 before =E2=80=
=98ary=E2=80=99
=2E./common/conv.h: In function =E2=80=98ary2cmatdouble=E2=80=99:
=2E./common/conv.h:176: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:176: warning: implicit declaration of function =E2=80=98=
rb_funcall=E2=80=99
=2E./common/conv.h:176: warning: implicit declaration of function =E2=80=98=
rb_intern=E2=80=99
=2E./common/conv.h:176: error: invalid type argument of =E2=80=98->=E2=80=99
=2E./common/conv.h:176: warning: implicit declaration of function =E2=80=98=
rb_raise=E2=80=99
=2E./common/conv.h:176: error: =E2=80=98rb_eArgError=E2=80=99 undeclared (f=
irst use in this=20
function)
=2E./common/conv.h: In function =E2=80=98ary2cmatfloat=E2=80=99:
=2E./common/conv.h:177: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:177: error: invalid type argument of =E2=80=98->=E2=80=99
=2E./common/conv.h:177: error: =E2=80=98rb_eArgError=E2=80=99 undeclared (f=
irst use in this=20
function)
=2E./common/conv.h: In function =E2=80=98ary2cmatdoublecount=E2=80=99:
=2E./common/conv.h:200: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:200: warning: implicit declaration of function =E2=80=98=
RARRAY_LEN=E2=80=99
=2E./common/conv.h:200: warning: implicit declaration of function =E2=80=98=
xfree=E2=80=99
=2E./common/conv.h:200: error: =E2=80=98rb_eArgError=E2=80=99 undeclared (f=
irst use in this=20
function)
=2E./common/conv.h: In function =E2=80=98ary2cmatfloatcount=E2=80=99:
=2E./common/conv.h:201: error: expected declaration specifiers before =E2=
=80=98VALUE=E2=80=99
=2E./common/conv.h:201: error: =E2=80=98rb_eArgError=E2=80=99 undeclared (f=
irst use in this=20
function)
In file included from gl.c:18:
=2E./common/common.h: At top level:
=2E./common/common.h:81: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribu=
te__=E2=80=99=20
before =E2=80=98cProc=E2=80=99
=2E./common/common.h: In function =E2=80=98glformat_size=E2=80=99:
=2E./common/common.h:173: error: =E2=80=98rb_eArgError=E2=80=99 undeclared =
(first use in this=20
function)
=2E./common/common.h: In function =E2=80=98gltype_glformat_unit_size=E2=80=
=99:
=2E./common/common.h:231: error: =E2=80=98rb_eArgError=E2=80=99 undeclared =
(first use in this=20
function)
=2E./common/common.h: In function =E2=80=98get_uniform_size=E2=80=99:
=2E./common/common.h:316: error: =E2=80=98rb_eTypeError=E2=80=99 undeclared=
(first use in this=20
function)
=2E./common/common.h: At top level:
=2E./common/common.h:338: error: expected declaration specifiers or =E2=80=
=98...=E2=80=99=20
before =E2=80=98VALUE=E2=80=99
=2E./common/common.h: In function =E2=80=98CheckDataSize=E2=80=99:
=2E./common/common.h:344: warning: implicit declaration of=20
function =E2=80=98RSTRING_LEN=E2=80=99
=2E./common/common.h:344: error: =E2=80=98data=E2=80=99 undeclared (first u=
se in this function)
=2E./common/common.h:345: error: =E2=80=98rb_eArgError=E2=80=99 undeclared =
(first use in this=20
function)
=2E./common/common.h: At top level:
=2E./common/common.h:349: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99=20
or =E2=80=98__attribute__=E2=80=99 before =E2=80=98allocate_buffer_with_str=
ing=E2=80=99
=2E./common/common.h: In function =E2=80=98load_gl_function=E2=80=99:
=2E./common/common.h:390: error: =E2=80=98rb_eNotImpError=E2=80=99 undeclar=
ed (first use in this=20
function)
=2E./common/common.h: At top level:
=2E./common/common.h:395: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=
=E2=80=99, =E2=80=98;=E2=80=99, =E2=80=98asm=E2=80=99=20
or =E2=80=98__attribute__=E2=80=99 before =E2=80=98pack_array_or_pass_strin=
g=E2=80=99
gl.c:20: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=E2=80=99, =E2=80=
=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribute__=E2=80=99=20
before =E2=80=98module=E2=80=99
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 =E2=80=98GetOpenglVersion=E2=80=99:
gl.c:49: error: =E2=80=98error_checking=E2=80=99 undeclared (first use in t=
his function)
gl.c:49: error: =E2=80=98Qtrue=E2=80=99 undeclared (first use in this funct=
ion)
gl.c:49: error: =E2=80=98inside_begin_end=E2=80=99 undeclared (first use in=
this function)
gl.c:49: error: =E2=80=98Qfalse=E2=80=99 undeclared (first use in this func=
tion)
gl.c:51: warning: implicit declaration of function =E2=80=98sscanf=E2=80=99
gl.c:51: warning: incompatible implicit declaration of built-in=20
function =E2=80=98sscanf=E2=80=99
gl.c: In function =E2=80=98GetOpenglExtensions=E2=80=99:
gl.c:79: error: =E2=80=98error_checking=E2=80=99 undeclared (first use in t=
his function)
gl.c:79: error: =E2=80=98Qtrue=E2=80=99 undeclared (first use in this funct=
ion)
gl.c:79: error: =E2=80=98inside_begin_end=E2=80=99 undeclared (first use in=
this function)
gl.c:79: error: =E2=80=98Qfalse=E2=80=99 undeclared (first use in this func=
tion)
gl.c:81: warning: implicit declaration of function =E2=80=98strlen=E2=80=99
gl.c:81: warning: incompatible implicit declaration of built-in=20
function =E2=80=98strlen=E2=80=99
gl.c:82: warning: implicit declaration of function =E2=80=98ALLOC_N=E2=80=99
gl.c:82: error: expected expression before =E2=80=98GLchar=E2=80=99
gl.c:82: warning: assignment makes pointer from integer without a cast
gl.c:83: warning: implicit declaration of function =E2=80=98strcpy=E2=80=99
gl.c:83: warning: incompatible implicit declaration of built-in=20
function =E2=80=98strcpy=E2=80=99
gl.c: In function =E2=80=98CheckExtension=E2=80=99:
gl.c:106: warning: incompatible implicit declaration of built-in=20
function =E2=80=98strlen=E2=80=99
gl.c:107: error: expected expression before =E2=80=98GLchar=E2=80=99
gl.c:107: warning: assignment makes pointer from integer without a cast
gl.c:108: warning: incompatible implicit declaration of built-in=20
function =E2=80=98strcpy=E2=80=99
gl.c:112: warning: implicit declaration of function =E2=80=98strstr=E2=80=99
gl.c:112: warning: incompatible implicit declaration of built-in=20
function =E2=80=98strstr=E2=80=99
gl.c: In function =E2=80=98CheckVersionExtension=E2=80=99:
gl.c:128: warning: incompatible implicit declaration of built-in=20
function =E2=80=98sscanf=E2=80=99
gl.c: At top level:
gl.c:140: error: expected =E2=80=98=3D=E2=80=99, =E2=80=98,=E2=80=99, =E2=
=80=98;=E2=80=99, =E2=80=98asm=E2=80=99 or =E2=80=98__attribute__=E2=80=99=
=20
before =E2=80=98IsAvailable=E2=80=99
gl.c:142: error: expected identifier or =E2=80=98(=E2=80=99 before =E2=80=
=98{=E2=80=99 token
gl.c: In function =E2=80=98CheckBufferBinding=E2=80=99:
gl.c:175: error: =E2=80=98rb_eRuntimeError=E2=80=99 undeclared (first use i=
n this function)
gl.c:179: error: =E2=80=98error_checking=E2=80=99 undeclared (first use in =
this function)
gl.c:179: error: =E2=80=98Qtrue=E2=80=99 undeclared (first use in this func=
tion)
gl.c:179: error: =E2=80=98inside_begin_end=E2=80=99 undeclared (first use i=
n this function)
gl.c:179: error: =E2=80=98Qfalse=E2=80=99 undeclared (first use in this fun=
ction)
gl.c: In function =E2=80=98Init_gl=E2=80=99:
gl.c:185: error: =E2=80=98VALUE=E2=80=99 undeclared (first use in this func=
tion)
gl.c:185: error: expected =E2=80=98;=E2=80=99 before =E2=80=98VERSION=E2=80=
=99
gl.c:187: error: =E2=80=98module=E2=80=99 undeclared (first use in this fun=
ction)
gl.c:187: warning: implicit declaration of function =E2=80=98rb_define_modu=
le=E2=80=99
gl.c:189: warning: implicit declaration of function =E2=80=98rb_define_cons=
t=E2=80=99
gl.c:189: error: =E2=80=98VERSION=E2=80=99 undeclared (first use in this fu=
nction)
gl.c:208: warning: implicit declaration of=20
function =E2=80=98rb_define_module_function=E2=80=99
gl.c:208: error: =E2=80=98IsAvailable=E2=80=99 undeclared (first use in thi=
s function)
rake aborted!
Command failed with status (1):=20
[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=20
(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)

5 Answers

Eric Hodel

5/28/2008 8:56:00 AM

0

On May 28, 2008, at 01:14 AM, David Masover wrote:
> 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

head -1 `which rake`

David Masover

5/28/2008 10:25:00 AM

0

On Wednesday 28 May 2008 03:55:32 Eric Hodel wrote:
> On May 28, 2008, at 01:14 AM, David Masover wrote:
> > 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
>
> head -1 `which rake`

Ah. Thanks:

$ head -1 `which rake`
#!/usr/bin/ruby1.9

After installing rake via gem1.8, I still get the same on rake and rake1.9 --
but they are not the same file:

$ diff /usr/bin/rake /usr/bin/rake1.9
1a2,4
>
> #--
> # Copyright (c) 2003, 2004, 2005, 2006, 2007 Jim Weirich
3c6,11
< # This file was generated by RubyGems.
---
> # Permission is hereby granted, free of charge, to any person obtaining a
copy
> # of this software and associated documentation files (the "Software"), to
> # deal in the Software without restriction, including without limitation the
> # rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or
> # sell copies of the Software, and to permit persons to whom the Software is
> # furnished to do so, subject to the following conditions:
5,6c13,14
< # The application 'rake' is installed as part of a gem, and
< # this file is here to facilitate running it.
---
> # The above copyright notice and this permission notice shall be included in
> # all copies or substantial portions of the Software.
7a16,23
> # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE
> # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS
> # IN THE SOFTWARE.
> #++
9,15c25,29
< require 'rubygems'
<
< version = ">= 0"
<
< if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
< version = $1
< ARGV.shift
---
> begin
> require 'rake'
> rescue LoadError
> require 'rubygems'
> require 'rake'
17,19c31
<
< gem 'rake', version
< load 'rake'
---
> Rake.application.run

Eric Hodel

5/28/2008 7:18:00 PM

0

On May 28, 2008, at 03:24 AM, David Masover wrote:
> On Wednesday 28 May 2008 03:55:32 Eric Hodel wrote:
>> On May 28, 2008, at 01:14 AM, David Masover wrote:
>>> 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
>>
>> head -1 `which rake`
>
> Ah. Thanks:
>
> $ head -1 `which rake`
> #!/usr/bin/ruby1.9
>
> After installing rake via gem1.8, I still get the same on rake and
> rake1.9 --
> but they are not the same file:
>
> $ diff /usr/bin/rake /usr/bin/rake1.9
> 1a2,4
>>
>> #--
>> # Copyright (c) 2003, 2004, 2005, 2006, 2007 Jim Weirich

They should have a different shebang line. Re-run `gem install rake`
again to make plain `rake` be the 1.8 one.

You may want to add "install: --format-executable" to your ~/.gemrc to
make gem add 1.8 or 1.9 to gem executable names so that they don't
step on each others' toes.

David Masover

5/28/2008 8:20:00 PM

0

On Wednesday 28 May 2008 14:17:31 Eric Hodel wrote:
> They should have a different shebang line. Re-run `gem install rake`
> again to make plain `rake` be the 1.8 one.

I just did, and it has a 1.9 shebang. I'm pretty sure I tried this before.

> You may want to add "install: --format-executable" to your ~/.gemrc to
> make gem add 1.8 or 1.9 to gem executable names so that they don't
> step on each others' toes.

Ok, guessing that will be in root's homedir if I install gems via sudo?

And would there still be a default 'rake' command? If so, which would it use?
(Configurable?)


Eric Hodel

5/29/2008 1:20:00 AM

0

On May 28, 2008, at 13:19 PM, David Masover wrote:

> On Wednesday 28 May 2008 14:17:31 Eric Hodel wrote:
>> They should have a different shebang line. Re-run `gem install rake`
>> again to make plain `rake` be the 1.8 one.
>
> I just did, and it has a 1.9 shebang. I'm pretty sure I tried this
> before.

Then does `gem env` report 1.9 as the ruby version?

>> You may want to add "install: --format-executable" to your ~/.gemrc
>> to
>> make gem add 1.8 or 1.9 to gem executable names so that they don't
>> step on each others' toes.
>
> Ok, guessing that will be in root's homedir if I install gems via
> sudo?

In `sudo ruby -e 'p ENV["HOME"]'`, which is the my homedir for me.

> And would there still be a default 'rake' command? If so, which
> would it use?
> (Configurable?)

No, you would have to make a symlink to whichever you wanted to be the
default.