经过一天的谷歌搜索和软件包安装,这是我解决RCSS安装问题的最后希望。首先让我解释一下我的软件包和版本,因为我在解决方案完全基于版本之前进行了搜索。
我在我的华硕笔记本电脑上安装了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'到packages目录:
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( $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
关于' param'的错误反复报告多行文件,它填充我的终端缓冲区。在这里,我只复制一个关于' param'。
的错误行经过一些谷歌搜索后,有人建议将野牛图书馆降级到版本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'
我知道我的解释比平时更长,但我试图解释所有细节,以便得不到我之前测试的相同解决方案。如果有人能解决我的问题,我将非常感激。我真的需要安装这个服务器。
答案 0 :(得分:1)
使用&#34; sudo make&#34;构建时出现的错误是由rcssserver 15和bison 3.0.2之间的不兼容问题引起的。你需要下载,编译和安装bison 2.5.1,然后再试一次。
您无需安装rcssbase。
我写了一篇帖子,讨论了ubuntu 14.04 here上的安装问题。