Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rcsoccersim installation script #2

Merged
merged 5 commits into from
Jan 19, 2023
Merged

rcsoccersim installation script #2

merged 5 commits into from
Jan 19, 2023

Conversation

Pvcunha
Copy link
Contributor

@Pvcunha Pvcunha commented Jan 14, 2023

  • script for installation of rcsoccersim modules (rcssserver and rcssmonitor)
  • script for installation of bison and flex (rcsoccersim needed packages)

Copy link
Member

@joseviccruz joseviccruz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testei a instalação em um container limpo com as sugestões e aparentemente instalou direitinho. Rodando os binários gerados deu isso:

$ ./rcsoccersim 
>>> Error: rcssserver can not be found in your PATH

$ ./rcssserver 
>>> rcssserver-17.0.1
>>> 
>>> Copyright (C) 1995, 1996, 1997, 1998, 1999 Electrotechnical Laboratory.
>>> 2000 - RoboCup Soccer Simulator Maintenance Group.
>>> 
>>> Simulator Random Seed: 1673800628
>>> CSVSaver: Ready
>>> STDOutSaver: Ready
>>> Using simulator's random seed as Hetero Player Seed: 1673800628
>>> wind factor: rand: 0.000000, vector: (0.000000, 0.000000)
>>> logger.cpp: 329: can't open the game log file ./incomplete.rcg

$ ./rcssclient 
>>> Hit Ctrl-C to exit.

É o comportamento esperado?

rcsoccersim.sh Outdated Show resolved Hide resolved
rcsoccersim.sh Show resolved Hide resolved
@Pvcunha
Copy link
Contributor Author

Pvcunha commented Jan 17, 2023

Testei a instalação em um container limpo com as sugestões e aparentemente instalou direitinho. Rodando os binários gerados deu isso:

$ ./rcsoccersim 
>>> Error: rcssserver can not be found in your PATH

$ ./rcssserver 
>>> rcssserver-17.0.1
>>> 
>>> Copyright (C) 1995, 1996, 1997, 1998, 1999 Electrotechnical Laboratory.
>>> 2000 - RoboCup Soccer Simulator Maintenance Group.
>>> 
>>> Simulator Random Seed: 1673800628
>>> CSVSaver: Ready
>>> STDOutSaver: Ready
>>> Using simulator's random seed as Hetero Player Seed: 1673800628
>>> wind factor: rand: 0.000000, vector: (0.000000, 0.000000)
>>> logger.cpp: 329: can't open the game log file ./incomplete.rcg

$ ./rcssclient 
>>> Hit Ctrl-C to exit.

É o comportamento esperado?

nao, ele deveria conseguir rodar o binario a partir de qualquer lugar. Eh so dar o comando no terminal. Isso no caso da instalacao padrao, mas eu nao sei quando a gente muda o diretorio de instalacao. Vou dar uma averiguada.

@Pvcunha
Copy link
Contributor Author

Pvcunha commented Jan 17, 2023

Eh so dar o comando no terminal. Isso no caso da instalacao padrao, mas eu nao sei quando a gente muda o diretorio de instalacao. Vou dar uma averiguada.

Eh preciso colocar o path do binario na variavel de ambiente PATH e rcsoccersim volta a funcionar.

@joseviccruz
Copy link
Member

joseviccruz commented Jan 17, 2023

Eh so dar o comando no terminal. Isso no caso da instalacao padrao, mas eu nao sei quando a gente muda o diretorio de instalacao. Vou dar uma averiguada.

Eh preciso colocar o path do binario na variavel de ambiente PATH e rcsoccersim volta a funcionar.

Acho que o melhor é fazer isso no dockerfile msm, é bem tranquilo, tem descrito no repositório tbm

@fnalmeidap
Copy link
Member

  • flex ✔️
  • bison ✔️
  • rcssserver ✔️
  • rcssmonitor ❌

image

Copy link
Member

@fnalmeidap fnalmeidap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O erro do monitor era esperado?

@Pvcunha
Copy link
Contributor Author

Pvcunha commented Jan 18, 2023

O erro do monitor era esperado?

vou tentar descobrir hoje, eu tinha visto ele já. Vou comparar as libs pra imagem pvcunha/robocin-2d:ubuntu-20.04 para essa. Mas esse arquivo que ele diz que ta faltando ta no caminho /opt/qt/5.15.2/lib, pelo que me recordo do que vi ontem... Enfim foi dar uma averiguada melhor

@Pvcunha
Copy link
Contributor Author

Pvcunha commented Jan 18, 2023

O erro do monitor era esperado?

vou tentar descobrir hoje, eu tinha visto ele já. Vou comparar as libs pra imagem pvcunha/robocin-2d:ubuntu-20.04 para essa. Mas esse arquivo que ele diz que ta faltando ta no caminho /opt/qt/5.15.2/lib, pelo que me recordo do que vi ontem... Enfim foi dar uma averiguada melhor

O problema no qt eh o seguinte, os .so nao estao sendo achados pelo container. Como pode ser visto na imagem (ldd eh um comando pra verificar dependencias de shared libraries)
image

Portanto o que precisa ser feito eh adicionar o path /opt/qt/5.15.2/gcc_64/lib para procurar por biblioteca nesse diretorio. Para isso ser feito basta adicionar uma linha ao arquivo /etc/ld.so.conf.d/x86_64-linux-gnu.conf contendo o path das bibliotecas do qt.
image

Em seguida precisamos "atualizar" as bibliotecas do sistema com o comando ldconfig, e temos o seguinte output no comando ldd
image

e por fim o output esperado do rcssmonitor por nao ter display disponivel ainda:
image

O proximo passo eh fazer isso de forma automatica pelo Dockerfile ou pelo script de instalacao do qt...
@joseviccruz @fnalmeidap

referencias:
https://unix.stackexchange.com/questions/168340/where-is-ld-library-path-how-do-i-set-the-ld-library-path-env-variable
https://www.gnu.org/software/grep/manual/grep.html
https://manpages.ubuntu.com/manpages/trusty/man1/ldd.1.html

@fnalmeidap
Copy link
Member

fnalmeidap commented Jan 19, 2023

Boa!
Fico em dúvida de onde aplicar essa alteração, até onde sei esse problema só acontece conosco, então seria melhor usar apenas no nosso Dockerfile? Ideias @joseviccruz? 💭

@fnalmeidap fnalmeidap self-requested a review January 19, 2023 12:44
Copy link
Member

@fnalmeidap fnalmeidap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noice!
image

@Pvcunha
Copy link
Contributor Author

Pvcunha commented Jan 19, 2023

Boa! Fico em dúvida de onde aplicar essa alteração, até onde sei esse problema só acontece conosco, então seria melhor usar apenas no nosso Dockerfile? Ideias @joseviccruz? thought_balloon

tem uma forma mais facil de fazer que eh adicionando o path da biblioteca para o LD_LIBRARY_PATH. Abri essa issue e podemos continuar a discussao sobre isso por la.

@Pvcunha Pvcunha merged commit e38dde3 into main Jan 19, 2023
@Pvcunha Pvcunha deleted the rcsoccersim branch January 19, 2023 13:56
@joseviccruz
Copy link
Member

Boa! Fico em dúvida de onde aplicar essa alteração, até onde sei esse problema só acontece conosco, então seria melhor usar apenas no nosso Dockerfile? Ideias @joseviccruz? thought_balloon

Sim, por enquanto não considero bem um problema, podemos adicionar somente no dockerfile, mas vou investigar melhor dps.

Pq tipo, assim a gente pode ter multiplas versões de qt no sistema, e setar algum path assim pode quebrar essa funcionalidade

@Riei-Joaquim Riei-Joaquim linked an issue Oct 23, 2023 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Biblioteca do qt nao esta sendo achada por outras aplicacoes
3 participants