rcsoccersim / rcssserver

The RoboCup Soccer Simulator Server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Not installing on Ubuntu 20.04

DriesSmit opened this issue · comments

commented

Hello,

Does the current version of the RoboCup server work on Ubuntu 20.04 or higher? When I install the RoboCup server using a Ubuntu 18.04 image it seems to work well. The Dockerfile is below:
Dockerfile_18.04.txt

I, however, need the RoboCup server to work on a more recent version of Ubuntu e.g. 20.04. This is needed to allow access to the latest neural network packages (Tensorflow and PyTorch). A tried to build this Docker image (with only the Ubuntu version changed):

Dockerfile_20.04.txt

However I get a /usr/bin/ld: cannot find -lrcssclangparser error when installing the RoboCup server. Is there anything I can do to fix this problem?

Thank you in advance.

hello,
have you tried to add
/usr/local/lib to
/etc/ld.so.conf
and then ldconfig it ?

commented

Hello,

Thank you for your feedback. I went in a different direction and got all the latest deep learning libraries to work in Ubuntu 18.04.

This is still an issue on ubuntu 20.04. Full Stack trace:

264.1 libtool: link: g++ -std=c++14 -W -Wall -g -O2 -o .libs/rcssserver audio.o bodysender.o coach.o csvsaver.o
 dispsender.o field.o fullstatesender.o heteroplayer.o initsender.o initsendercoach.o initsenderlogger.o initsender
monitor.o initsenderonlinecoach.o initsenderplayer.o landmarkreader.o logger.o main.o monitor.o pcombuilder.o pcomp
arser.o player.o playerparam.o object.o referee.o remoteclient.o resultsaver.o serializer.o serializercoachstdv1.o 
serializercoachstdv7.o serializercoachstdv8.o serializercoachstdv13.o serializercoachstdv14.o serializercommonstdv1
.o serializercommonstdv7.o serializercommonstdv8.o serializermonitor.o serializeronlinecoachstdv1.o serializeronlin
ecoachstdv6.o serializeronlinecoachstdv7.o serializeronlinecoachstdv8.o serializeronlinecoachstdv13.o serializeronl
inecoachstdv14.o serializerplayerstdv1.o serializerplayerstdv7.o serializerplayerstdv8.o serializerplayerstdv13.o s
erializerplayerstdv14.o serverparam.o stadium.o stdoutsaver.o stdtimer.o synctimer.o team.o utility.o visualsenderc
oach.o visualsenderplayer.o weather.o xmlreader.o xpmholder.o player_command_parser.o player_command_tok.o  -L../rc
ssbase/conf -L../rcssbase/net -L../rcssbase/gzip -L/usr/lib/x86_64-linux-gnu -lrcssclangparser /home/app/mava/rcsss
erver-rcssserver-16.0.0/rcssbase/conf/.libs/librcssconfparser.so /home/app/mava/rcssserver-rcssserver-16.0.0/rcssba
se/net/.libs/librcssnet.so /home/app/mava/rcssserver-rcssserver-16.0.0/rcssbase/gzip/.libs/librcssgz.so -lboost_fil
esystem -lboost_system -lz -lm
#15 264.3 /usr/bin/ld: cannot find -lrcssclangparser
#15 264.3 collect2: error: ld returned 1 exit status

The same scripts work on ubuntu 18.04. @mroa4 What exactly do you mean by have you tried to add /usr/local/lib to /etc/ld.so.conf and then ldconfig it ?

I have updated /etc/ld.so.conf to be like this:

include /etc/ld.so.conf.d/*.conf
/usr/local/lib

I have also tried include /usr/local/lib/*.conf , but I don't think there is any conf in /usr/local/lib/.

This problem is caused by automake in Ubuntu 20.04.
I recommend using a rerelesed package from the Releases section.
Download rcssserver-16.0.1.tar.gz, extract it, configure, build and install.

If you'd like to use the latest source tree, please modify the following part in src/Makefile.am.

Before:

rcssserver_LDADD = \
        -lrcssclangparser \
        -lrcssconfparser \

After:

rcssserver_LDADD = \
        librcssclangparser.la \
        -lrcssconfparser \

This fix will be committed soon.

Fixed on the master branch.

Thanks @hidehisaakiyama , it works now :)