From: "W. Kent Starr" Date: 2001-04-29T03:10:55+09:00 Subject: [ruby-talk:14383] Re: Ruby OpenGL question On Saturday 28 April 2001 09:32, Matthew PATTISON wrote: > Reply-To: > I have a question about Yoshi's recently updated OpenGL interface module. > The README file for the module seemed to be in Japanese, so my installation > procedure was pretty off the cuff. (I haven't installed any extra modules > before) > > It was: > copy the file rbogl-0.32.tgz to /usr/lib/ruby/ext (this is where other > extension modules seem to be kept) > > type: > 'tar zxvf rbogl-0.32.tgz' > 'cd opengl' > 'ruby extconf.rb' > > during which I get the following error message: > checking for glClear() in -lGL... no > checking for glClear() in -lMesaGL... no > "can't create OpenGL module!" > > I seemed to get around this by adding: > $CFLAGS += " -I/usr/X11R6/include/" > $CFLAGS += " -L/usr/X11R6/lib" > which represent where the OpenGL libraries and include files can be found. > > now 'ruby extconf.rb' succeeds, but > 'make' > fails with the errors: > .... > glut.c: In function `glut_KeyboardFunc': > glut.c:147: warning: passing arg1 of `glutKeyboardFunc' from incompatible > pointer type .... > gcc -shared -o glut.so glut.o -lglut -lXmu -lXext -lXi -lGLU -lGL -lX11 > -lXmu -lc /usr/bin/ld: cannot find -lglut > collect2: ld returned 1 exit status > make[1]: ***[glut.so] Error 1 > .... > > Here I am stuck. Please someone explain to me where I've gone wrong, or > what the correct procedure is. > > Matt Well, I had a similar probelm with a prior release of Yoshi's OpenGL. There is a message in the list archives re this (I am currently archiving everything here so can't lay my hands on the ref number now; sorry) At any rate, there were changes made in the names of certain functions in Mesa between versions. By changing a line in Yoshi's code (to preserve any other builds of whatever that referenced the new changes) I was able to get it to build and run. I suspect you are facing a similar thing (as will I when I get aroud to rebuidling Yoshi's new module) It took a bit of detective work to find these things out BTW :-) Also, if you are using recent versions of Mesa (I just installed latest stable 3.41) the installed lib names are _NOT_ MesaGL and MesaGLU; rather these are libGL and libGLU, respectively. (These changes were made, I believe, due to Sun's objection to confusion resulting from OpenGL and MesaGL; Mesa makes a big deal out of using Mesa and _no_ MesaGL when referring to the product). I simply make these changes in the Makefiles of respective third party builds. OTOH if you are planning to create interactive games or 3d virual environments, Worlds now has a US patent on such doings. FWIW. If needed, I will have more info on current situation after I rebuld Yoshi's latest GL lib. Maybe this will happen today and maybe not as I hear rumbles re some 'family' thing I will have to do today. Ack! :-) Hope this helps. Regards, Kent Starr elderburn@mindspring.com