gl-render.cc: framework OpenGL on MacOSX
Ben Abbott
bpabbott at mac.com
Tue Feb 10 18:28:34 CST 2009
On Feb 10, 2009, at 3:19 PM, Jonathan Stickel wrote:
> Ben Abbott wrote:
>> On Feb 10, 2009, at 1:59 PM, Jonathan Stickel <jjstickel at vcn.com>
>> wrote:
>>> On 2/10/09 octave-maintainers-request at octave.org wrote:
>>>> Date: Tue, 10 Feb 2009 18:04:11 +0200
>>>> From: Shai Ayal <shaiay at gmail.com>
>>>> Subject: Re: gl-render.cc: framework OpenGL on MacOSX
>>>> To: Ben Abbott <bpabbott at mac.com>
>>>> Cc: octave maintainers mailing list <maintainers at octave.org>
>>>> Message-ID:
>>>> <420fb9e60902100804o11fa60aem197842a446da77a8 at mail.gmail.com>
>>>> Content-Type: text/plain; charset=ISO-8859-1
>>>> On Tue, Feb 10, 2009 at 5:21 PM, Ben Abbott <bpabbott at mac.com>
>>>> wrote:
>>>>> >
>>>>> > On Feb 9, 2009, at 1:15 PM, Thomas Treichl wrote:
>>>>> >
>>>>>> >> Ben Abbott schrieb:
>>>>>>> >>>
>>>>>>> >>> The result of configure is below.
>>>>>> >>
>>>>>> >> Ok, let me know if your next compilation also is successful
>>>>>> (at least the
>>>>>> >> file src/gl-render.cc). I is compiled without the three-dots-
>>>>>> call of
>>>>>> >> gluTessCallback on your Mac.
>>>>>> >>
>>>>>> >> Thomas
>>>>> >
>>>>> > With the liboctave fix, I'm now able to build octave again and
>>>>> the fltk
>>>>> > backend actually functions for me!
> <snip>
>>> It looks like I am also seeing this issue of compiling gl-
>>> render.cc on Mac. Has the fix propogated to the primary octave
>>> development branch?
>>>
>>> Jonathan
>> Yes
>
> Hmm, OK, but I am getting this error:
>
>
> g++ -c -I/opt/local/include -fPIC -I. -I../../src -I.. -I../
> liboctave -I../src -I../libcruft/misc -I../.. -I../../liboctave -
> I../../src -I../../libcruft/misc -DHAVE_CONFIG_H -mieee-fp -I/opt/
> local/include/freetype2 -I/opt/local/include -Wall -W -Wshadow -Wold-
> style-cast -I/usr/local/include -I/opt/local/include ../../src/
> graphics.cc -o pic/graphics.o
> ../../src/gl-render.cc: In member function ‘virtual void
> opengl_tesselator::init()’:
> ../../src/gl-render.cc:273: error: invalid conversion from ‘void (*)
> ()’ to ‘GLvoid (*)(...)’
> ../../src/gl-render.cc:273: error: initializing argument 3 of
> ‘void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))’
> ../../src/gl-render.cc:275: error: invalid conversion from ‘void (*)
> ()’ to ‘GLvoid (*)(...)’
> ../../src/gl-render.cc:275: error: initializing argument 3 of
> ‘void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))’
> ../../src/gl-render.cc:277: error: invalid conversion from ‘void (*)
> ()’ to ‘GLvoid (*)(...)’
> ../../src/gl-render.cc:277: error: initializing argument 3 of
> ‘void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))’
> ../../src/gl-render.cc:279: error: invalid conversion from ‘void (*)
> ()’ to ‘GLvoid (*)(...)’
> ../../src/gl-render.cc:279: error: initializing argument 3 of
> ‘void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))’
> ../../src/gl-render.cc:281: error: invalid conversion from ‘void (*)
> ()’ to ‘GLvoid (*)(...)’
> ../../src/gl-render.cc:281: error: initializing argument 3 of
> ‘void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))’
> ../../src/gl-render.cc:283: error: invalid conversion from ‘void (*)
> ()’ to ‘GLvoid (*)(...)’
> ../../src/gl-render.cc:283: error: initializing argument 3 of
> ‘void gluTessCallback(GLUtesselator*, GLenum, GLvoid (*)(...))’
> ../../src/gl-render.cc: In member function ‘virtual void
> opengl_renderer::draw(const axes::properties&)’:
> ../../src/gl-render.cc:595: error: invalid conversion from ‘int*’ to
> ‘GLint*’
> ../../src/gl-render.cc:595: error: initializing argument 2 of
> ‘void glGetIntegerv(GLenum, GLint*)’
> ../../src/gl-render.cc: In member function ‘virtual void
> opengl_renderer::init_marker(const std::string&, double, float)’:
> ../../src/gl-render.cc:2677: error: invalid conversion from ‘int*’
> to ‘GLint*’
> ../../src/gl-render.cc:2677: error: initializing argument 2 of
> ‘void glGetIntegerv(GLenum, GLint*)’
> make[2]: *** [pic/gl-render.o] Error 1
I've started a fresh build and am now past liboctave and libcruft.
I can think two things that may be different (besides that I'm running
10.5.6).
(1) I'm using Thomas' macro to make sure the OpenGL stuff is found.
http://www-old.cae.wisc.edu/pipermail/octave-maintainers/2009-February/010703.html
If you're not using it, give it a try. If you are, make sure you're
not passing some OpenGL specifics to configure.
When running configure I pass the following options ...
./configure --prefix=/sw FLIBS=/sw/lib/gcc4.3/lib/libgfortran.dylib
F77=/sw/bin/gfortran --infodir='${prefix}/share/info' --mandir='$
{prefix}/share/man' --libexecdir='${prefix}/lib' -enable-shared -
enable-dl --disable-static --without-mpi --with-hdf5 --with-fftw
CPPFLAGS="-g -I/sw/include -I/sw/include/freetype2" FFLAGS="-g -ff2c"
LDFLAGS="-L/sw/lib/fltk-aqua/lib -L/sw/lib -lfltk_gl -lfltk -lpthread"
$blas
where $blas points to vecLib and is defined as
blas='--with-lapack=-Wl,-framework,Accelerate,-dylib_file,/System/
Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/
vecLib.framework/Versions/A/libLAPACK.dylib:/System/Library/Frameworks/
Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/
libLAPACK.dylib --with-blas=-Wl,-framework,Accelerate,-dylib_file,/
System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/
vecLib.framework/Versions/A/libBLAS.dylib:/System/Library/Frameworks/
Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/
libBLAS.dylib'
Also notice I've setup things to work with the Fink package manager.
(2) I've also modified the tests for FTGL in configure.in
707 #ifdef HAVE_FTGL_FTGL_H
708 #ifdef HAVE_FTGL_UPPERCASE
709 #include <FTGL/FTGL.h>
710 #include <FTGL/FTGLTextureFont.h>
711 #else
712 #include <FTGL/ftgl.h>
713 #include <FTGL/FTGLTextureFont.h>
714 #endif
715 #elif HAVE_FTGL_H
716 #ifdef HAVE_FTGL_UPPERCASE
717 #include <FTGL.h>
718 #include <FTGLTextureFont.h>
719 #else
720 #include <ftgl.h>
721 #include <FTGLTextureFont.h>
722 #endif
723 #endif], [
Ben
More information about the Octave-maintainers
mailing list