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

Discussion in 'Ruby' started by David Masover, May 28, 2008.

  1. 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)
     
    David Masover, May 28, 2008
    #1
    1. Advertising

  2. David Masover

    Eric Hodel Guest

    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`
     
    Eric Hodel, May 28, 2008
    #2
    1. Advertising

  3. 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
     
    David Masover, May 28, 2008
    #3
  4. David Masover

    Eric Hodel Guest

    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.
     
    Eric Hodel, May 28, 2008
    #4
  5. 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?)
     
    David Masover, May 28, 2008
    #5
  6. David Masover

    Eric Hodel Guest

    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.
     
    Eric Hodel, May 29, 2008
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Michael Brooks
    Replies:
    10
    Views:
    441
    David Masover
    Mar 13, 2009
  2. Iñaki Baz Castillo
    Replies:
    14
    Views:
    253
    Iñaki Baz Castillo
    Apr 5, 2009
  3. geistteufel
    Replies:
    0
    Views:
    184
    geistteufel
    Jul 14, 2009
  4. geistteufel
    Replies:
    5
    Views:
    258
    geistteufel
    Jul 14, 2009
  5. Iñaki Baz Castillo
    Replies:
    7
    Views:
    653
    Rick DeNatale
    Dec 3, 2009
Loading...

Share This Page