mit-biomimetics / Cheetah-Software

MIT License
2.53k stars 911 forks source link

Cheetah-Software install issue #71

Open jhs3330395 opened 3 years ago

jhs3330395 commented 3 years ago

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

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

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 commented 3 years ago

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