Porting the Stage project on Qt 4.8.3

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Porting the Stage project on Qt 4.8.3

giorgik
Hello to all. I found the project Stage (robot simulator) very interesting and would like to make a porting to Qt using libraries for version 4.8.3. Would it be possible to have the manual design of C ++ code of Stage 3.2.2 from which to do the porting? Among you anyone wants to add me to do it?
Reply | Threaded
Open this post in threaded view
|

Re: Porting the Stage project on Qt 4.8.3

giorgik
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()
Reply | Threaded
Open this post in threaded view
|

Re: Porting the Stage project on Qt 4.8.3

Rich Mattes-2
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/
_______________________________________________
Playerstage-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-developers
Reply | Threaded
Open this post in threaded view
|

Re: Porting the Stage project on Qt 4.8.3

Rich Mattes-2
In reply to this post by giorgik
On 11/25/2012 02:01 PM, giorgik wrote:
> Hello to all. I found the project Stage (robot simulator) very interesting
> and would like to make a porting to Qt using libraries for version 4.8.3.
> Would it be possible to have the manual design of C ++ code of Stage 3.2.2
> from which to do the porting? Among you anyone wants to add me to do it?

This sounds like a great project!  I would recommend that you start with
the latest version of Stage in git, instead of 3.2.2.  I believe the
libstage API was cleaned up between 3.2 and 4.x. Forking Stage on github
and creating a branch for qt development would probably be your best bet.

The Stage API is outlined at http://rtv.github.com/Stage/ but there is
no real architecture or design document that I'm aware of.  Stage
basically builds into 2 parts:
* libstage, a shared library, which contains all of the models,
simulation logic, GUI code, config file parsing utilities, and opengl code.
* The "stage" binary, the main entry point, which consists of only
main.cc.  It handles invoking libstage based on the command line
arguments supplied to the program.

libstageplugin, the Player plugin driver, also invokes libstage when
used, and hooks into the different models within libstage to accept
input and feed output through the Player interfaces.

Rich

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel:
DESIGN Expert tips on starting your parallel project right.
http://goparallel.sourceforge.net/
_______________________________________________
Playerstage-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/playerstage-developers
Reply | Threaded
Open this post in threaded view
|

Re: Porting the Stage project on Qt 4.8.3

giorgik
dear Rich Mattes-2, I was able to compile the project in Stage Qt. I do not understand only because I do not displays the graphics window and then as it goes in segmentation fault.
I wish I could give my whole project so as to make it public and it needs corrections. This is the stage-master version for Windows and MinGW with ide QtCreator. I'll put in attached my complete project.
AreaRobot.zip

Rich Mattes-2 wrote
On 11/25/2012 02:01 PM, giorgik wrote:
> Hello to all. I found the project Stage (robot simulator) very interesting
> and would like to make a porting to Qt using libraries for version 4.8.3.
> Would it be possible to have the manual design of C ++ code of Stage 3.2.2
> from which to do the porting? Among you anyone wants to add me to do it?

This sounds like a great project!  I would recommend that you start with
the latest version of Stage in git, instead of 3.2.2.  I believe the
libstage API was cleaned up between 3.2 and 4.x. Forking Stage on github
and creating a branch for qt development would probably be your best bet.

The Stage API is outlined at http://rtv.github.com/Stage/ but there is
no real architecture or design document that I'm aware of.  Stage
basically builds into 2 parts:
* libstage, a shared library, which contains all of the models,
simulation logic, GUI code, config file parsing utilities, and opengl code.
* The "stage" binary, the main entry point, which consists of only
main.cc.  It handles invoking libstage based on the command line
arguments supplied to the program.

libstageplugin, the Player plugin driver, also invokes libstage when
used, and hooks into the different models within libstage to accept
input and feed output through the Player interfaces.

Rich

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel:
DESIGN Expert tips on starting your parallel project right.
http://goparallel.sourceforge.net/
_______________________________________________
Playerstage-developers mailing list
Playerstage-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-developers