RCSSserver 5.2.2 on ubuntu 14.04 安装错误

RCSSserver 5.2.2 on ubuntu 14.04 installation error

经过一天的谷歌搜索和包安装,这是我解决 RCSS 安装问题的最后希望。首先让我解释一下我的软件包和版本,因为正如我之前搜索的那样,解决方案完全基于版本。

我在我的 ASUS 笔记本电脑上安装了 ubuntu 14.04 x64 的全新副本。安装 synaptic 包管理器后,我使用 synaptic 或 apt-get 命令获得了列出的包的最新版本:

其中一些是在安装 RCSS 时请求的,一些是建议的,作为我在下面解释的错误的解决方案。请注意,我将 bison 包版本降级到 2.7.1 并保持它不自动更新,因为它是在一个论坛中建议的。最后是我的问题... 我下载了 rcssbase-12.1.3、rcssserver-15.2.2 和 rcssmonitor-15.1.1,首先尝试安装 RCSS 服务器,正如手册和一些安装教程线程中提到的那样。我在包目录 'cd' 的终端中执行以下命令:

sudo chmod +x configure
sudo ./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu

一切顺利,没有出现错误,我收到以下报告:

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

然后,当我尝试使用 'sudo make' 命令构建它时,出现以下错误:

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( .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

有关'param' 的错误在文件的许多行中重复报告,它填满了我的终端缓冲区。在这里,我只复制了关于 'param'.

的错误行之一

谷歌搜索后,建议将 bison 库降级到 2.7.1 版,我这样做了,但没有用。然后我发现我必须在安装服务器之前安装 RCSSbase。我本可以毫无错误地执行“./configure”,但在 'make' 过程中我又得到了以下包含错误的报告:

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'

我知道我的解释比平时更长,但我试图解释所有细节,以免得到我之前测试过的相同解决方案。如果有人能解决我的问题,我将不胜感激。我真的需要安装这个服务器。

使用"sudo make"构建时出现的错误是由rcssserver 15和bison 3.0.2之间的不兼容问题引起的。您需要下载编译安装bison 2.5.1,然后重试

不需要安装rcssbase。

我写了一篇 post 讨论 ubuntu 14.04 here 上的安装问题。