gl-render.cc: framework OpenGL on MacOSX
Ben Abbott
bpabbott at mac.com
Fri Jan 30 18:26:39 CST 2009
On Jan 30, 2009, at 6:09 PM, Thomas Treichl wrote:
> Hi,
>
> I'm currently trying to compile gl-render.cc against Mac's OpenGL
> framework. If I compile against Mac's "X11/GL" then everything is
> just fine, but with "framework OpenGL" I have got problems. I
> already was able to do a hack for this:
>
> gl-render.cc: In member function 'virtual void
> opengl_renderer::draw(const
> axes::properties&)':
> gl-render.cc:595: error: invalid conversion from 'int*' to 'GLint*'
> gl-render.cc:595: error: initializing argument 2 of 'void
> glGetIntegerv(GLenum, GLint*)'
> gl-render.cc: In member function 'virtual void
> opengl_renderer::init_marker(const std::string&, double, float)':
> gl-render.cc:2634: error: invalid conversion from 'int*' to 'GLint*'
> gl-render.cc:2634: error: initializing argument 2 of 'void
> glGetIntegerv(GLenum, GLint*)'
>
> but I'm not able to find out what the compiler wants from me for this:
>
> gl-render.cc: In member function 'virtual void
> opengl_tesselator::init()':
> gl-render.cc:273: error: invalid conversion from 'void (*)()' to
> 'GLvoid (*)(...)'
> gl-render.cc:273: error: initializing argument 3 of 'void
> gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
> gl-render.cc:275: error: invalid conversion from 'void (*)()' to
> 'GLvoid (*)(...)'
> gl-render.cc:275: error: initializing argument 3 of 'void
> gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
> gl-render.cc:277: error: invalid conversion from 'void (*)()' to
> 'GLvoid (*)(...)'
> gl-render.cc:277: error: initializing argument 3 of 'void
> gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
> gl-render.cc:279: error: invalid conversion from 'void (*)()' to
> 'GLvoid (*)(...)'
> gl-render.cc:279: error: initializing argument 3 of 'void
> gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
> gl-render.cc:281: error: invalid conversion from 'void (*)()' to
> 'GLvoid (*)(...)'
> gl-render.cc:281: error: initializing argument 3 of 'void
> gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
> gl-render.cc:283: error: invalid conversion from 'void (*)()' to
> 'GLvoid (*)(...)'
> gl-render.cc:283: error: initializing argument 3 of 'void
> gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))'
>
> Looking inside the OpenGL framework I get:
>
> bash$ grep -re "gluTessCallback" /System/Library/Frameworks/
> OpenGL.framework/*
> /System/Library/Frameworks/OpenGL.framework/Headers/glu.h:extern void
> gluTessCallback (GLUtesselator* tess, GLenum which, GLvoid
> (*CallBackFunc)());
>
> Looking inside X11R6/GL I get:
>
> bash$ grep -re "gluTessCallback" /usr/X11R6/include/GL/*.h
> /usr/X11R6/include/GL/glu.h:extern void gluTessCallback
> (GLUtesselator* tess,
> GLenum which, _GLUfuncptr CallBackFunc);
> bash$ grep -re "_GLUfuncptr" /usr/X11R6/include/GL/*.h
> /usr/X11R6/include/GL/glu.h:typedef GLvoid (*_GLUfuncptr)();
> /usr/X11R6/include/GL/glu.h:typedef GLvoid (*_GLUfuncptr)(GLvoid);
>
> Can somebody please send me a suggestion what I should change?
>
> The second question is: Are there any other platforms that have a
> header "OpenGL/gl.h" instead of "GL/gl.h" or do we just have this
> "OpenGL/gl.h" on Mac? I'm asking this question because I'd like to
> adjust the test procedure OCTAVE_OPENGL in aclocal.m4.
>
> Best regards,
>
> Thomas
I don't get those errors, and my config.log has
#define HAVE_OPENGL_GL_H 1
#define HAVE_OPENGL_GLU_H 1
#define HAVE_OPENGL 1
The configure options used (from config.log) are below
./configure --prefix=/sw FLIBS=/sw/lib/gcc4.3/lib/libgfortran.dylib
F77=/sw/bin/gfortran --infodir=${prefix}/s hare/info --mandir=$
{prefix}/share/man --libexecdir=${prefix}/lib -enable-shared -enable-
dl --disable-static --wit hout-mpi --with-hdf5 --with-fftw
CPPFLAGS=-g -I/sw/include -FOpenGL -I/sw/include/freetype2 FFLAGS=-g -
ff2c LDFLA GS=-L/sw/lib/fltk-aqua/lib -L/sw/lib -lfltk_gl -
framework AGL -framework OpenGL -lfltk -lpthread -framework
Carbon --with-lapack=-Wl,-framework,Accelerate,-dylib_file,/
System/Library/Frameworks/Accelerate.framework/Versions/A/Fr
ameworks/vecLib.framework/Versions/A/libLAPACK.dylib:/System/Library/
Frameworks/Accelerate.framework/Versions/A/Fr ameworks/
vecLib.framework/Versions/A/libLAPACK.dylib --with-blas=-Wl,-
framework,Accelerate,-dylib_file,/System/Lib rary/Frameworks/
Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/
libBLAS.dylib:/System/Libra ry/Frameworks/Accelerate.framework/
Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
Although I don't get errors, the new backend isn't functional for me
either.
Ben
More information about the Octave-maintainers
mailing list