Re: Porting the Stage project on Qt 4.8.3

Rich Mattes <[email protected]>
Newsgroups gmane.science.robotics.playerstage
Message-ID <[email protected]>
On 11/30/2012 01:20 PM, giorgik wrote:
> I downloaded the project from GitHub StageMaster (Stage-master.zip) CMake 2.8
> I used to create the Makefile for the compiler MinGW 4.6.2. When I started
> the make, I got qesti error messages:
> C:\MinGW\Stage-master\compilato>make -j8
> [  2%] Building CXX object libstage/CMakeFiles/stage.dir/blockgroup.obj
> C:\MinGW\Stage-master\libstage\blockgroup.cc: In member function 'void
> Stg::BlockGroup::BuildDisplayList()':
> C:\MinGW\Stage-master\libstage\blockgroup.cc:185:39: error: invalid
> conversion from 'GLvoid (*)() {aka void (*)()}' to '
> _GLUfuncptr {aka void (*)()}' [-fpermissive]
> c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/GL/glu.h:270:21:
> error:   initializing argument 3 of 'void glu
> TessCallback(GLUtesselator*, GLenum, _GLUfuncptr)' [-fpermissive]
> C:\MinGW\Stage-master\libstage\blockgroup.cc:187:38: error: invalid
> conversion from 'GLvoid (*)() {aka void (*)()}' to '
> _GLUfuncptr {aka void (*)()}' [-fpermissive]
> c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/GL/glu.h:270:21:
> error:   initializing argument 3 of 'void glu
> TessCallback(GLUtesselator*, GLenum, _GLUfuncptr)' [-fpermissive]
> C:\MinGW\Stage-master\libstage\blockgroup.cc:189:35: error: invalid
> conversion from 'GLvoid (*)() {aka void (*)()}' to '
> _GLUfuncptr {aka void (*)()}' [-fpermissive]
> c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/GL/glu.h:270:21:
> error:   initializing argument 3 of 'void glu
> TessCallback(GLUtesselator*, GLenum, _GLUfuncptr)' [-fpermissive]
> C:\MinGW\Stage-master\libstage\blockgroup.cc:191:33: error: invalid
> conversion from 'GLvoid (*)() {aka void (*)()}' to '
> _GLUfuncptr {aka void (*)()}' [-fpermissive]
> c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/GL/glu.h:270:21:
> error:   initializing argument 3 of 'void glu
> TessCallback(GLUtesselator*, GLenum, _GLUfuncptr)' [-fpermissive]
> C:\MinGW\Stage-master\libstage\blockgroup.cc:195:41: error: invalid
> conversion from 'GLvoid (*)() {aka void (*)()}' to '
> _GLUfuncptr {aka void (*)()}' [-fpermissive]
> c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/GL/glu.h:270:21:
> error:   initializing argument 3 of 'void glu
> TessCallback(GLUtesselator*, GLenum, _GLUfuncptr)' [-fpermissive]
> C:\MinGW\Stage-master\libstage\blockgroup.cc:197:43: error: invalid
> conversion from 'GLvoid (*)() {aka void (*)()}' to '
> _GLUfuncptr {aka void (*)()}' [-fpermissive]
> c:\mingw\bin\../lib/gcc/mingw32/4.6.2/../../../../include/GL/glu.h:270:21:
> error:   initializing argument 3 of 'void glu
> TessCallback(GLUtesselator*, GLenum, _GLUfuncptr)' [-fpermissive]
> mingw32-make[2]: *** [libstage/CMakeFiles/stage.dir/blockgroup.obj] Error 1
> mingw32-make[1]: *** [libstage/CMakeFiles/stage.dir/all] Error 2
> mingw32-make: *** [all] Error 2
>
> Can you help me solve this problem ?
>
> I would love to have the executable for Windows XP and I can not get there.
> I noticed that there are some corrections to the file stage.hh, must be
> added (drand48, srand48, random):
>
> #define drand48() double( rand() ) / double( RAND_MAX )
> #define srand48( seed ) srand( seed )
> #define random() rand()

It looks like your compiler is choking on some GL API stuff, a quick 
google search turned up 
http://sourceforge.net/tracker/?func=detail&atid=102435&aid=742008&group_id=2435. 
The compiler seems to be telling you that you can overlook these errors 
by adding the -fpermissive cflag, so I would start with that and see if 
things get any further along.

Stage hasn't ever been ported to Windows, so the breakages you're seeing 
are to be expected.  I'm sure that the Stage guys would be happy to 
accept patches that allow Stage to be built on Windows in addition to 
Linux/OS X.

Rich

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
DESIGN Expert tips on starting your parallel project right.
http://goparallel.sourceforge.net/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.