After a day of googling and package installing, here is my last hope to solve RCSS intallation problem. First of all let me explain my software packages and versions because as I searched before solutions are completely version based.
I installed a fresh copy of ubuntu 14.04 x64 on my ASUS laptop. After installing synaptic package manager I got last version of the listed packages using synaptic or apt-get
command:
- libaudio-dev*
- libpng-dev*
- libxi-dev*
- libglib2.0-dev*
- libfontconfig-dev*
- libxrender-dev*
- freeglut3
- libltdl*
- libstdc++*
- libboost1.54-*
- libboost-regex*
- libboost-filesystem*
- libboost-thread*
- libboost-program-options*
- libxaw7
- flex*
- bison*
- gcc
- g++
Some of them are requested during RCSS installation and some are suggested as solution to the errors I explained in the following. Note that I downgrade the bison package version to 2.7.1 and hold it to not being updated automatically as it was suggested in one of forums. And finally my problem... I downloaded rcssbase-12.1.3, rcssserver-15.2.2 and rcssmonitor-15.1.1 first tried to install RCSS server as it was mentioned in manual and some installation tutorial threads. I execute the following commands in a Terminal that is 'cd' to the packages directory:
sudo chmod +x configure
sudo ./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu
everything went well and no error appeared and I got the following report:
config.status: creating Makefile
config.status: creating rcssbase/Makefile
config.status: creating rcssbase/net/Makefile
config.status: creating rcssbase/conf/Makefile
config.status: creating rcssbase/gzip/Makefile
config.status: creating src/Makefile
config.status: creating src/rcsoccersim
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
Then, when I tried to build it with 'sudo make' command I got the following error:
coach_lang_parser.ypp:111:29: error: 'param' was not declared in this scope
#define BUILDER getBuilder( param )
^
coach_lang_parser.ypp:979:9: note: in expansion of macro 'BUILDER'
BUILDER.buildBallMoveToken( $1.getBMT() );
^
make[3]: *** [coach_lang_parser.lo] Error 1
make[3]: Leaving directory `/home/alireza/workspace/RCSS/rcssserver-15.2.2/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/alireza/workspace/RCSS/rcssserver-15.2.2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/alireza/workspace/RCSS/rcssserver-15.2.2'
make: *** [all] Error 2
The error about 'param' is repeatedly reported for many line of the files and it fills my terminal buffer. Here I copy just one of the error lines about 'param'.
After some googling it was suggested to downgrade bison libarary to version 2.7.1 and I did that but it didn't work. Then I found out that I have to install RCSSbase before the server installation. I could have execute './configure' without any error but again in 'make' process I got the following report which contains error:
make all-recursive
make[1]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3'
Making all in .
make[2]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3'
make[2]: Leaving directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3'
Making all in libltdl
make[2]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/libltdl'
make all-am
make[3]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/libltdl'
/bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I/usr/include -g -O2 -c -o ltdl.lo ltdl.c
gcc -DHAVE_CONFIG_H -I. -I/usr/include -g -O2 -c ltdl.c -fPIC -DPIC -o .libs/ltdl.o
gcc -DHAVE_CONFIG_H -I. -I/usr/include -g -O2 -c ltdl.c -o ltdl.o >/dev/null 2>&1
/bin/bash ./libtool --tag=CC --mode=link gcc -g -O2 -L/usr/lib/x86_64-linux-gnu -o libltdlc.la ltdl.lo -ldl
rm -fr .libs/libltdlc.a .libs/libltdlc.la
ar cru .libs/libltdlc.a .libs/ltdl.o
ranlib .libs/libltdlc.a
creating libltdlc.la
(cd .libs && rm -f libltdlc.la && ln -s ../libltdlc.la libltdlc.la)
make[3]: Leaving directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/libltdl'
make[2]: Leaving directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/libltdl'
Making all in rcssbase
make[2]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase'
Making all in error
make[3]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase/error'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase/error'
Making all in lib
make[3]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase/lib'
Making all in .
make[4]: Entering directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase/lib'
/bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../libltdl -I/usr/include -W -I./src -g -O2 -MT loader.lo -MD -MP -MF .deps/loader.Tpo -c -o loader.lo loader.cpp
g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../libltdl -I/usr/include -W -I./src -g -O2 -MT loader.lo -MD -MP -MF .deps/loader.Tpo -c loader.cpp -fPIC -DPIC -o .libs/loader.o
loader.cpp: In static member function ‘static boost::filesystem::path rcss::lib::Loader::stripDirName(const boost::filesystem::path&)’:
loader.cpp:158:38: error: conversion from ‘boost::filesystem::path’ to non-scalar type ‘std::string {aka std::basic_string<char>}’ requested
std::string rval = filename.leaf();
^
make[4]: *** [loader.lo] Error 1
make[4]: Leaving directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase/lib'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase/lib'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/alireza/workspace/RCSS/rcssbase-12.1.3/rcssbase'
I know my explanations are lengthen more than usual but I tried to explain all the details to not get same solution that I have tested before. I will deeply appreciate it if anyone can solve my problem. I really need to install this server.
The errors you get when you build with "sudo make" are caused by incompatibility issues between rcssserver 15 and bison 3.0.2. You need to download, compile and install bison 2.5.1, then try again.
You do not need to install rcssbase.
I wrote a post that discusses installation issues on ubuntu 14.04 here.