It's been a while since my last post. This time I'd like to share my experience about installing Player/Stage on PCLinuxOS. So, how to install Player/Stage on PCLinuxOS?
First of all, some of you might wondering what Player/Stage is. Player/Stage is a software released under GNU GPL license to support development in robotic research. It was from a project formerly known as Player Project founded by Brian Gerkey, Richard Vaughan and Andrew Howard.
For more information about Player/Stage, visit its project website at SourceForge. If you are installing Player/Stage on OpenSuSE go to this post. Let's get to the main topic, "How to install Player/Stage on PCLinuxOS?"
The first thing you need to do is to install the dependencies for Player/Stage. To do this, make sure you already have the latest link on your repositories and you are connected to internet. Click here to read on how to update your repository on PCLinuxOS.
After updating your repository, type these words on Synaptic's search box. These packages are compulsory for installing Player/Stage. fortran, libconfig, libtool, pkg-config, gtk, sed, cmake, geos, statgrab, swig, gnomecanvas, imagemagick, glut, libltdl and gsl.
For a more general packages for solving dependency issue before installing Player/Stage, read my post about General Requirement for Player/Stage.
After installing those dependency packages, you'll have to install Player first before installing Stage. Although Player was available in PCLinuxOS repository, from my experience it's best to build the application from source.
Installing Player
If you decide to install Player from the repository, you'll get difficulty to run the code you made. I still don't know why, but I guess it has something to do with the library linkages.
If you build Player from the source, you could define the library linkages and the directory to which Player will be installed. By the way, PCLinuxOS didn't provide Stage in its repository.
To install Player, it's best to switch to superuser account. Since by default, player will be installed in /usr/local/. Although it's not really necessary. The first step is to download the source and extract it to your local directory (I'll assume you know how to extract an archive in Linux). Note that this guide uses Player version 2.1.2 although the latest version available on its website is 3.0.0. And instead of installing it in the default location, it'll be installed in user directory (/home/$USER/playerstage).
cd ~/player-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
In my case, I put extra options. I enabled
lasertoranger and
sonartoranger and disabled
vec2map. Hence, my code becomes:
/configure --prefix=/home/$USER/playerstage --enable-lasertoranger --enable-sonartoranger --disable-vec2map
make
make install
The next step is to add the Player's executables and libraries path to system path. Type these lines in
terminal (or konsole):
export PATH=$PATH:/home/$USER/playerstage/bin/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/$USER/playerstage/lib/pkgconfig
export PLAYERPATH=$PLAYERPATH:/home/$USER/playerstage/share/stage/worlds:/home/$USER/playerstage/lib/
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/playerstage/include:/home/$USER/playerstage/lib:/home/$USER/playerstage/share/player/examples/plugins/logplugin
Or you can manually add them to the your local profile file by editing these files:
.bashrc or
.bash_profile.
Next step is to add these lines into
/etc/ld.so.conf.
/home/$USER/playerstage/lib/
/usr/local/lib
The last step is to test this installation configuration by typing this line in
terminal.
pkg-config --libs playercore
It should return something like this, (might be different depending on your machine)
-L/home/$USER/playerstage/lib -lplayercore -lltdl -lpthread -lplayererror
And this line again:
pkg-config --cflags playercore
Again, it should return something like this, (might also be different)
-I/home/$USER/playerstage/include/player-2.1
If your machine return something like those, then you could try to run the application:
player ~/playerstage/share/stage/worlds/simple.cfg &
If it run well, then the installation is complete.
Installing Stage
The installation for Stage is almost the same as installing Player.
cd ~/stage-<version>
make uninstall
make clean
./configure --prefix=/home/$USER/playerstage
sudo make
sudo make install
pkg-config --libs stage
pkg-config --cflags stage
I summarized all steps above and upload it to my Google Docs, you
can read the file too. If you notice that there is the word "OpenCV" in that file, just ignore it if you don't need to install it.
OpenCV is a computer vision library for researches having image manipulation/processing. If your robot involves such sensor behavior, then you'll need to install this library.
I hope this guide is useful. Inform me if you have any thing to say.