Basic FAQ

From The Player Project

Jump to: navigation, search
(Undo revision 4115 by Ybysavozy (Talk))
Line 64: Line 64:
==What hardware and software does Player support?==
==What hardware and software does Player support?==
-
There is a [http://playerstage.sourceforge.net/doc/Player-cvs/player/supported_hardware.html list of supported devices].
+
There is a [http://playerstage.sourceforge.net/doc/Player-svn/player/supported_hardware.html list of supported devices].
==How do I get/build/install Player?==
==How do I get/build/install Player?==
Line 70: Line 70:
==How do I cross-compile Player (e.g., for the iPAQ or Gumstix)?==
==How do I cross-compile Player (e.g., for the iPAQ or Gumstix)?==
-
Of course you can find the [http://playerstage.sourceforge.net/doc/Player-cvs/player/group__tutorial__crosscompiling.html proper tutorial] for this.
+
Of course you can find the [http://playerstage.sourceforge.net/doc/Player-svn/player/group__tutorial__crosscompiling.html proper tutorial] for this.
==What is the difference between Player and Stage and Gazebo? What is the difference between Player device drivers and simulated device models in Stage or Gazebo?==
==What is the difference between Player and Stage and Gazebo? What is the difference between Player device drivers and simulated device models in Stage or Gazebo?==
Line 84: Line 84:
==How do I add a device driver to Player?==
==How do I add a device driver to Player?==
-
Read [http://playerstage.sourceforge.net/doc/Player-cvs/player/group__tutorial__plugins.html this tutorial].  
+
Read [http://playerstage.sourceforge.net/doc/Player-svn/player/group__tutorial__plugins.html this tutorial].  
==When I run Player (possibly under Stage), it exits with the message "unknown host; probably should quit." What's the deal?==
==When I run Player (possibly under Stage), it exits with the message "unknown host; probably should quit." What's the deal?==
Line 161: Line 161:
==What is the purpose of the key in a provides or requires field (e.g., the "odometry" in "odometry::position:0")?==
==What is the purpose of the key in a provides or requires field (e.g., the "odometry" in "odometry::position:0")?==
-
Look [http://playerstage.sourceforge.net/doc/Player-cvs/player/group__tutorial__config.html#device_key here].
+
Look [http://playerstage.sourceforge.net/doc/Player-svn/player/group__tutorial__config.html#device_key here].
==What is set odometry, and what does set odometry do?==
==What is set odometry, and what does set odometry do?==
Line 179: Line 179:
The opaque interface is usually used to prototype new interfaces and/  
The opaque interface is usually used to prototype new interfaces and/  
-
or extensions to existing interfaces.  After some testing and 
+
or extensions to existing interfaces.  If you would like to add a new
-
refinement, these additions can be submitted for consideration to be 
+
interface, you have two options: create a plugin interface or add a
-
included in player.h, at which point they'll be fully supported, with 
+
new interface definition to player. For custom applications, it's
-
XDR wrappers, client-side proxies, etc.
+
better to create a plugin interface.  If the interface needs to be
-
 
+
integrated into player, you can follow the instructions at [[Writing_a_Player_interface]]
Line 263: Line 263:
==How do I get the latest code?==
==How do I get the latest code?==
-
All the code for the project is mantained in CVS or Subversion (SVN) repositories at SourceForge. Project-specific instructions for CVS access, both anonymous and read/write, are [http://sourceforge.net/cvs/?group_id=42445 here]. The same info for SVN is [http://sourceforge.net/svn/?group_id=42445 here].
+
All the code for Player is maintained in Subversion (SVN) repositories at SourceForge. Project-specific instructions for SVN access, both anonymous and read/write, are [http://sourceforge.net/svn/?group_id=42445 here].
 +
 
 +
Stage code is maintained in git repositories at Github. Project-specific instructions for git access, both anonymous and read/writem are [https://github.com/rtv/Stage here]  
Player is in SVN.  To check out Player, use this command:
Player is in SVN.  To check out Player, use this command:
Line 270: Line 272:
</pre>
</pre>
-
Stage is now hosted at Github. You can get the very latest Stage 3.2 using this command:
+
Stage is now hosted at Github. You can get the very latest Stage using this command:
<pre>
<pre>
git clone http://github.com/rtv/Stage.git stage
git clone http://github.com/rtv/Stage.git stage
Line 281: Line 283:
===Branches===
===Branches===
-
To check out a branch from SVN, say, the release-2-0-patches branch of Player:
+
To check out a branch from SVN, say, the release-3-0-patches branch of Player:
<pre>
<pre>
-
$ svn co https://playerstage.svn.sourceforge.net/svnroot/playerstage/code/player/branches/release-2-0-patches player-2.0.x
+
$ svn co https://playerstage.svn.sourceforge.net/svnroot/playerstage/code/player/branches/release-3-0-patches player-3.0.x
</pre>
</pre>
-
To check out Stage 2.1, use this command:
+
To check out Stage 3.2, use this command:
<pre>
<pre>
-
svn co https://playerstage.svn.sourceforge.net/svnroot/playerstage/code/stage/branches/release-2-1-patches stage_2.1
+
svn co https://playerstage.svn.sourceforge.net/svnroot/playerstage/code/stage/branches/release-3-2-patches stage_3.2
-
</pre>
+
-
 
+
-
To check out a branch from CVS, say, the release-2-0-patches branch of Stage:
+
-
<pre>
+
-
(first set up your CVSROOT)
+
-
$ cvs co -r release-2-0-patches stage
+
</pre>
</pre>
Line 325: Line 321:
===Stage===
===Stage===
-
Stage's CMake-based build system is still under development, so it still uses the GNU Autotools-based build system. Since we're using the GNU Autotools, it's a little different to build from a working copy instead of from a distribution. First, you need autoconf and automake installed. They are already installed on any reasonable UNIX-like machine, but you might need to upgrade them; you can download both packages from any GNU mirror. We're currently using:
+
Stage uses a CMake build system similar to Player's.  Follow the directions for Player above.
-
* autoconf 2.53
+
-
* automake 1.9
+
-
   
+
-
Newer versions will probably work, but older ones probably won't. If you do use newer versions, keep in mind that you should not use any macros that aren't available in the versions listed above, because that will likely break the build for other developers.
+
-
 
+
-
Building from SVN involve the same steps:
+
-
 
+
-
# autoreconf -i -s  OR  ./bootstrap
+
-
# ./configure [options]
+
-
# make
+
-
# make install (optional)
+
-
 
+
-
The autoreconf tool runs the right Autotools in the right order to generate necessary files, including a configure script. You only need to supply the -i -s arguments the first time you use autoreconf on a checked out copy. If autoreconf doesn't work for you (older versions were pretty buggy), then you can run the bootstrap script instead, which does the same thing.
+
-
 
+
-
You only usually need to run autoreconf when some part of the build system, such as configure.in or acinclude.m4, has changed; at other times, you can just run configure, or even just make. However, it's safest to run autoreconf whenever you update from SVN, in case something important changed. The exact dependencies among the various files and tools are of course deterministic but extremely complex and it's best not to think about them.
+
-
 
+
-
One more thing: since we're using automake, we don't write Makefiles. Instead, we write Makefile.ams (automake files), which are like meta-Makefiles. Except in special cases, Makefiles (and Makefile.ins) are auto-generated and should not be checked in.
+
===Gazebo===
===Gazebo===
Line 352: Line 331:
Patches to fix up the docs would be most appreciated.  
Patches to fix up the docs would be most appreciated.  
-
Patches against SVN/CVS are always better.  There's some value to making patches against the latest release, as it's easier for users to apply them.  But if you only make one patch, please make it against SVN/CVS (and submit to the [http://sourceforge.net/tracker/?group_id=42445&atid=433166 patch tracker] at SourceForge; that way it won't get lost).
+
Patches against SVN/CVS are always better.  There's some value to making patches against the latest release, as it's easier for users to apply them.  But if you only make one patch, please make it against SVN/git (and submit to the [http://sourceforge.net/tracker/?group_id=42445&atid=433166 patch tracker] at SourceForge; that way it won't get lost).
[[Category:Documentation]]
[[Category:Documentation]]

Revision as of 22:50, 30 January 2011

Personal tools