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.