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

Cheetah-Software install issue #71

Open
jhs3330395 opened this issue Jul 20, 2021 · 1 comment
Open

Cheetah-Software install issue #71

jhs3330395 opened this issue Jul 20, 2021 · 1 comment

Comments

@jhs3330395
Copy link

I tried to install cheetah-software.

LCM, QT5.12.0, eigen3 were all successfully installed.

when i tried build, there was some issue.

first, when i tried cmake ..
contain a literal, direct call to the project() command. Add a line of
code such as

project(ProjectName)

near the top of the file, but after cmake_minimum_required().

CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.

But I thought this warning was negligible.

and then when i tried ./../scripts/make_types.sh
another problem was occurred

rm: cannot remove '/.java': No such file or directory
rm: cannot remove '/.hpp': No such file or directory
rm: cannot remove '/.class': No such file or directory
rm: cannot remove '/.py': No such file or directory
rm: cannot remove '/.pyc': No such file or directory
Notice: enclosing LCM types without package into java namespace 'lcmtypes'.
cp: cannot stat '/usr/local/share/java/lcm.jar': No such file or directory
./../scripts/make_types.sh: line 21: javac: command not found
./../scripts/make_types.sh: line 22: jar: command not found
mv: cannot stat 'my_types.jar': No such file or directory
mv: cannot stat 'lcm.jar': No such file or directory
ls: cannot access '/.class': No such file or directory

but in this guide https://www.programmersought.com/article/75147245766/
He says there is no problem with this error.

Finally when i tried make -j4
Every time I tried this command again, new errors occurred.

  1. first trial
    /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: error: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 2056 equals destination size [-Werror=stringop-truncation]
    106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest));
    | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[ 70%] Built target test-common
make: *** [Makefile:130: all] Error 2

  1. second trial (Run command again without changing anything)
    /home/nao-uncle/Cheetah-Software/robot/src/rt/rt_serial.cpp:34:3: error: ‘ioctl’ was not declared in this scope
    34 | ioctl(fd, TCGETS2, &tty);
    | ^~~~~

[ 80%] Linking CXX shared library libWBC_Ctrl.so
[ 80%] Built target WBC_Ctrl
make: *** [Makefile:130: all] Error 2

  1. The above two errors continue to be printed.

how can i fix it?

PS) i tried to fix ioctl problem, so i put include in /robot/src/rt/ rt_serial.cpp

when i put include<ioctl.h>

fatal error: ioctl.h: No such file or directory
14 | #include <ioctl.h>

when i put include<sys/ioctl.h>

from /home/nao-uncle/Cheetah-Software/robot/src/rt/rt_serial.cpp:17:
/usr/include/asm-generic/termios.h:15:8: error: redefinition of ‘struct winsize’
15 | struct winsize {
| ^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/ioctl.h:29,
from /home/nao-uncle/Cheetah-Software/robot/src/rt/rt_serial.cpp:14:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:27:8: note: previous definition of ‘struct winsize’
27 | struct winsize
| ^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/asm/termios.h:1,
from /home/nao-uncle/Cheetah-Software/robot/src/rt/rt_serial.cpp:17:
/usr/include/asm-generic/termios.h:23:8: error: redefinition of ‘struct termio’
23 | struct termio {
| ^~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/ioctl.h:29,
from /home/nao-uncle/Cheetah-Software/robot/src/rt/rt_serial.cpp:14:
/usr/include/x86_64-linux-gnu/bits/ioctl-types.h:36:8: note: previous definition of ‘struct termio’
36 | struct termio
| ^~~~~~

tada~ a new issue T_T

@dpetrillo740
Copy link

I had a lot of similar problems as well. When I followed the instructions closely and built on 18.04 LTS it worked. Building on any other version did not work for me and gave similar errors.

Another user in the SpotMicroAI discord helped me out with instructions he used on his Jetson:

---follow normal instruction stuff:
get qt5 to ~/Qt
get qtgamepad
compile qt5 (not enough memory to multithread compile so do single thread and come back to it later)
sudo apt install libeigen3-dev liblcm-dev liblcm1 liblcm-java
clone cheetah-software
set path to QT in cheetah cmakelists

-- weird jetson stuff:
*** hack: turn off sim and rctest in cheetah cmakelists - i couldn't get qtgamepad working right, this should be figured out and removed. -
modify common/cmakelists and robot/cmakelists and user/cmakelists to correct usr/include local path for lcm and eigen3
add https://raw.githubusercontent.com/jratcliff63367/sse2neon/master/SSE2NEON.h as 'immintrin.h' in /usr/include for ARM NEON intrinsics
edit immintrin.h:1678 (very end) to remove the name 'p' from parameter list to avoid the warning
-- end weird jetson stuff

-- continue normal cheetah instructions
make build folder in cheetah
../scripts/make_types.sh
cmake ..
make
don't use -j4, it runs out of memory

Hope that helps you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants