mit-biomimetics / Cheetah-Software

MIT License
2.57k stars 918 forks source link

difficuilty encounter during compiling #25

Closed STRATOS-ROBOTICS closed 4 years ago

STRATOS-ROBOTICS commented 4 years ago

Hello, first thank you to share the software!

i will love to test the simulation but i can't compile the software for a problem of include... also i made an autoconfig and run script but i got error can you please help me ?

the autoconfiginstall.sh

https://github.com/STRATOS-ROBOTICS/LeopardMK1/blob/master/LeopardMK1SoftwareSimInstall.sh

and the error log https://github.com/STRATOS-ROBOTICS/LeopardMK1/blob/master/errorlog.txt

i test on two different computers ubuntu 18.04 lts but always the same error...eigen/ not find... i think it is a problem of a path in cmake or something but i am not a good one in c++ but i wanna learn how to ... thank you in advance

STRATOS-ROBOTICS commented 4 years ago

So i move eigen3 on a the good directorie and the errors about eigen disappears but i get another ones about lcm

stratos@stratos-ALPHA:~/Bureau/10/Cheetah-Software/build$ sudo make -j4 [ 1%] Built target inih [ 9%] Built target dynacore_yaml-cpp [ 9%] Built target qdldlobject [ 15%] Built target JCQP [ 16%] Built target linsys_pardiso [ 19%] Built target linsys_qdldl [ 22%] Built target soem [ 27%] Built target libvnc [ 31%] Built target osqpstatic [ 31%] Built target Goldfarb_Optimizer [ 32%] Built target qdldlstatic [ 36%] Built target lord_imu [ 36%] Built target qdldl [ 36%] Building CXX object googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o [ 37%] Built target dynacore_param_handler [ 42%] Built target qpOASES [ 43%] Building CXX object user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/KinWBC.cpp.o [ 43%] Building CXX object user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/WBIC.cpp.o [ 46%] Built target osqp [ 47%] Built target osqp_demo [ 48%] Built target qdldl_example [ 49%] Built target test_imu cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/user/MIT_Controller/../../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs] cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/user/MIT_Controller/../../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs] cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/common/../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs] [ 49%] Building CXX object common/CMakeFiles/biomimetics.dir/src/Collision/CollisionBox.cpp.o cc1plus: error: /home/stratos/Bureau/10/Cheetah-Software/common/../lcm-types/cpp: Aucun fichier ou dossier de ce type [-Werror=missing-include-dirs] cc1plus: all warnings being treated as errors common/CMakeFiles/biomimetics.dir/build.make:62: recipe for target 'common/CMakeFiles/biomimetics.dir/src/Collision/CollisionBox.cpp.o' failed make[2]: [common/CMakeFiles/biomimetics.dir/src/Collision/CollisionBox.cpp.o] Error 1 CMakeFiles/Makefile2:1900: recipe for target 'common/CMakeFiles/biomimetics.dir/all' failed make[1]: [common/CMakeFiles/biomimetics.dir/all] Error 2 make[1]: Attente des tâches non terminées.... cc1plus: all warnings being treated as errors googletest-build/googletest/CMakeFiles/gtest.dir/build.make:62: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o' failed make[2]: [googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1 CMakeFiles/Makefile2:2461: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/all' failed make[1]: [googletest-build/googletest/CMakeFiles/gtest.dir/all] Error 2 cc1plus: all warnings being treated as errors user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/build.make:62: recipe for target 'user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/KinWBC.cpp.o' failed make[2]: [user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/KinWBC.cpp.o] Error 1 make[2]: Attente des tâches non terminées.... cc1plus: all warnings being treated as errors user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/build.make:86: recipe for target 'user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/WBIC.cpp.o' failed make[2]: [user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/WBIC.cpp.o] Error 1 CMakeFiles/Makefile2:2923: recipe for target 'user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/all' failed make[1]: [user/MIT_Controller/Controllers/WBC/WBIC/CMakeFiles/WBIC.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: [all] Error 2

49% i am near ...

STRATOS-ROBOTICS commented 4 years ago

Hello, So i was able to compile and run it after several research and asking forums, it was a problem of compatibility with lcm library and openjdk, so download oracle jdk, do some linking manually and it was all good, absolutely no error in compilation.

Cheetah-Sofware-Ubuntu 18.04-AutoInstall.sh :

Install Oracle JDK

First, you'll have to download JDK from Oracle. Unfortunately it cannot be done

via command line, only by visiting Oracle site, accepting license etc.

The page is https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

The file you need is jdk-8u241-linux-x64.tar.gz

Download it at put into the directory where you run this script from.

sudo tar -zxvf jdk-8u241-linux-x64.tar.gz -C /usr/lib/jvm/ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_241/bin/java 3 sudo update-alternatives --set java /usr/lib/jvm/jdk1.8.0_241/bin/java sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_241/bin/javac 3 sudo update-alternatives --set javac /usr/lib/jvm/jdk1.8.0_241/bin/javac sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_241/bin/jar 3 sudo update-alternatives --set jar /usr/lib/jvm/jdk1.8.0_241/bin/jar export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/

Install dependancies

sudo apt install mesa-common-dev freeglut3-dev coinor-libipopt-dev libblas-dev liblapack-dev gfortran liblapack-dev coinor-libipopt-dev cmake gcc build-essential libglib2.0-dev python-all-dev liblua5.1-dev golang doxygen python-epydoc git -y

Clone MIT Minicheetah software

git clone https://github.com/mit-biomimetics/Cheetah-Software.git cd Cheetah-Software

Eigen library

wget https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip unzip eigen-3.3.7.zip cd eigen-3.3.7

mkdir build cd build cmake .. sudo make install cd ../..

lcm library

wget https://github.com/lcm-proj/lcm/releases/download/v1.4.0/lcm-1.4.0.zip unzip lcm-1.4.0.zip cd lcm-1.4.0

mkdir build cd build cmake .. make sudo make install cd .. cd ..

Qt creator

wget http://mirrors.ukfast.co.uk/sites/qt.io/archive/qt/5.10/5.10.0/qt-opensource-linux-x64-5.10.0.run chmod +x qt-opensource-linux-x64-5.10.0.run ./qt-opensource-linux-x64-5.10.0.run #long install it's normally ln -s ~/Qt5.10.0 ~/Qt ## In the case the default installation directory was chosen

build

cd scripts # for now, you must actually go into this folder ./make_types.sh # you may see an error like rm: cannot remove... but this is okay cd .. mkdir build cd build cmake .. # No warnings anymore make -j4

sudo ldconfig #without i had problem lauching for shared library .so echo "MIT U Rock!"