rcsoccersim / rcssserver

The RoboCup Soccer Simulator Server
GNU Lesser General Public License v3.0
137 stars 52 forks source link

Not installing on Ubuntu 20.04 #50

Closed DriesSmit closed 3 years ago

DriesSmit commented 3 years ago

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.

mroa4 commented 3 years ago

hello, have you tried to add /usr/local/libto /etc/ld.so.conf and then ldconfigit ?

DriesSmit commented 3 years ago

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.

KaleabTessera commented 2 years ago

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

hidehisaakiyama commented 2 years ago

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.

hidehisaakiyama commented 2 years ago

Fixed on the master branch.

KaleabTessera commented 2 years ago

Thanks @hidehisaakiyama , it works now :)