lcm-proj / lcm

Lightweight Communications and Marshalling
GNU Lesser General Public License v2.1
980 stars 388 forks source link

There is no such file or directory: lcm_export.h #355

Open Jtang1188 opened 3 years ago

Jtang1188 commented 3 years ago

Hello,

After I install lcm packages, unitree_ros packages, unitree_legged_sdk and aliengo_sdk, after I run catkin_make command, it gives me an error

jeff@jeff-NUC8i7BEH:~/catkin_ws$ catkin_make Base path: /home/jeff/catkin_ws Source space: /home/jeff/catkin_ws/src Build space: /home/jeff/catkin_ws/build Devel space: /home/jeff/catkin_ws/devel Install space: /home/jeff/catkin_ws/install

Running command: "make cmake_check_build_system" in "/home/jeff/catkin_ws/build"

Running command: "make -j8 -l8" in "/home/jeff/catkin_ws/build"

[ 0%] Built target std_msgs_generate_messages_lisp [ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target sensor_msgs_generate_messages_lisp [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_MotorCmd [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_HighCmd [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LowState [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_IMU [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LowCmd [ 0%] Built target std_msgs_generate_messages_py [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_HighState [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_Cartesian [ 0%] Built target geometry_msgs_generate_messages_py [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LED [ 0%] Built target sensor_msgs_generate_messages_py [ 0%] Built target std_msgs_generate_messages_cpp [ 0%] Built target geometry_msgs_generate_messages_cpp [ 0%] Built target sensor_msgs_generate_messages_cpp [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_MotorState [ 0%] Built target sensor_msgs_generate_messages_eus [ 0%] Built target std_msgs_generate_messages_nodejs [ 0%] Built target geometry_msgs_generate_messages_eus [ 0%] Built target std_msgs_generate_messages_eus [ 0%] Built target geometry_msgs_generate_messages_nodejs [ 0%] Built target tf2_msgs_generate_messages_nodejs [ 0%] Built target controller_manager_msgs_generate_messages_py [ 0%] Built target sensor_msgs_generate_messages_nodejs [ 0%] Built target tf2_msgs_generate_messages_eus [ 0%] Built target tf2_msgs_generate_messages_lisp [ 0%] Built target tf2_msgs_generate_messages_cpp [ 0%] Built target tf2_msgs_generate_messages_py [ 0%] Built target actionlib_msgs_generate_messages_py [ 0%] Built target actionlib_msgs_generate_messages_lisp [ 0%] Built target actionlib_msgs_generate_messages_eus [ 0%] Built target actionlib_msgs_generate_messages_cpp [ 0%] Built target actionlib_msgs_generate_messages_nodejs [ 0%] Built target rosgraph_msgs_generate_messages_py [ 0%] Built target rosgraph_msgs_generate_messages_lisp [ 0%] Built target rosgraph_msgs_generate_messages_nodejs [ 0%] Built target rosgraph_msgs_generate_messages_eus [ 0%] Built target tf_generate_messages_cpp [ 0%] Built target tf_generate_messages_eus [ 0%] Built target roscpp_generate_messages_lisp [ 0%] Built target rosgraph_msgs_generate_messages_cpp [ 0%] Built target tf_generate_messages_lisp [ 0%] Built target roscpp_generate_messages_py [ 0%] Built target roscpp_generate_messages_nodejs [ 0%] Built target roscpp_generate_messages_eus [ 0%] Built target tf_generate_messages_nodejs [ 0%] Built target actionlib_generate_messages_cpp [ 0%] Built target actionlib_generate_messages_eus [ 0%] Built target roscpp_generate_messages_cpp [ 0%] Built target tf_generate_messages_py [ 0%] Built target actionlib_generate_messages_lisp [ 0%] Built target actionlib_generate_messages_nodejs [ 0%] Built target actionlib_generate_messages_py [ 0%] Built target controller_manager_msgs_generate_messages_lisp [ 0%] Built target controller_manager_msgs_generate_messages_cpp [ 0%] Built target controller_manager_msgs_generate_messages_nodejs [ 0%] Built target controller_manager_msgs_generate_messages_eus [ 2%] Built target unitree_external_force [ 5%] Built target unitree_move_kinetic [ 18%] Built target unitree_legged_msgs_generate_messages_lisp [ 33%] Built target unitree_legged_msgs_generate_messages_py [ 46%] Built target unitree_legged_msgs_generate_messages_cpp [ 60%] Built target unitree_legged_msgs_generate_messages_eus [ 63%] Built target unitreeDrawForcePlugin [ 76%] Built target unitree_legged_msgs_generate_messages_nodejs [ 79%] Built target unitreeFootContactPlugin [ 79%] Built target unitree_legged_msgs_gencpp make[2]: No rule to make target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_1.dir/build'. Stop. CMakeFiles/Makefile2:3299: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_1.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_1.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... make[2]: No rule to make target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_2.dir/build'. Stop. CMakeFiles/Makefile2:3481: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_2.dir/all' failed make[1]: *** [unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_2.dir/all] Error 2 [ 79%] Built target unitree_legged_msgs_generate_messages [ 81%] Building CXX object unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/src/exe/velocity_mode.cpp.o [ 82%] Building CXX object unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/src/exe/position_mode.cpp.o [ 84%] Building CXX object unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/src/exe/torque_mode.cpp.o [ 85%] Building CXX object unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/src/exe/walk_mode.cpp.o [ 88%] Built target unitree_legged_control In file included from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm-cpp.hpp:15:0, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/lcm.h:10, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/unitree_legged_sdk.h:13, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/src/exe/walk_mode.cpp:13: /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm.h:11:10: fatal error: lcm_export.h: No such file or directory

include "lcm_export.h"

      ^~~~~~~~~~~~~~

compilation terminated. In file included from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm-cpp.hpp:15:0, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/lcm.h:10, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/unitree_legged_sdk.h:13, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/src/exe/torque_mode.cpp:12: /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm.h:11:10: fatal error: lcm_export.h: No such file or directory

include "lcm_export.h"

      ^~~~~~~~~~~~~~

compilation terminated. unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/build.make:62: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/src/exe/torque_mode.cpp.o' failed unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/build.make:62: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/src/exe/walk_mode.cpp.o' failed make[2]: [unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/src/exe/torque_mode.cpp.o] Error 1 make[2]: [unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/src/exe/walk_mode.cpp.o] Error 1 CMakeFiles/Makefile2:2930: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/all] Error 2 CMakeFiles/Makefile2:3208: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/all] Error 2 In file included from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm-cpp.hpp:15:0, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/lcm.h:10, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/unitree_legged_sdk.h:13, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/src/exe/velocity_mode.cpp:13: /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm.h:11:10: fatal error: lcm_export.h: No such file or directory

include "lcm_export.h"

      ^~~~~~~~~~~~~~

compilation terminated. In file included from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm-cpp.hpp:15:0, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/lcm.h:10, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/unitree_legged_sdk/unitree_legged_sdk.h:13, from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/src/exe/position_mode.cpp:13: /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm.h:11:10: fatal error: lcm_export.h: No such file or directory

include "lcm_export.h"

      ^~~~~~~~~~~~~~

compilation terminated. unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/build.make:62: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/src/exe/velocity_mode.cpp.o' failed make[2]: [unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/src/exe/velocity_mode.cpp.o] Error 1 CMakeFiles/Makefile2:3117: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/all] Error 2 unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/build.make:62: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/src/exe/position_mode.cpp.o' failed make[2]: [unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/src/exe/position_mode.cpp.o] Error 1 CMakeFiles/Makefile2:3390: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j8 -l8" failed

I have checked the lcm github and it seems that the lcm_export.h was not defined. Anyone have any ideas?

hoxell commented 3 years ago

It's not really clear what you've done before this step, but did you actually build and install lcm 1.4.0 or higher (as required by unitree_legged_sdk)? If not, follow the build and installation instructions and try again.

This line:

In file included from /home/jeff/catkin_ws/src/unitree_ros/unitree_legged_real/include/lcm/lcm-cpp.hpp:15:0

seems to suggest you may have manually included the lcm project src inside the unitree project. Have you modified anything yourself or are you trying to build the project from a clean clone of the unitree_ros repo?

Lastly, this seems to be an issue with unitree and not LCM, so if the above hints don't fix anything, this is where you should raise an issue.

Jtang1188 commented 3 years ago

I think I may have done some modifications, that's why I uninstall and reinstall the packages. I also follow the instructions to build the file and it managed to work. However, I encountered another problem

jeff@jeff-NUC8i7BEH:~/catkin_ws$ catkin_make Base path: /home/jeff/catkin_ws Source space: /home/jeff/catkin_ws/src Build space: /home/jeff/catkin_ws/build Devel space: /home/jeff/catkin_ws/devel Install space: /home/jeff/catkin_ws/install

Running command: "make cmake_check_build_system" in "/home/jeff/catkin_ws/build"

Running command: "make -j8 -l8" in "/home/jeff/catkin_ws/build"

[ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target std_msgs_generate_messages_lisp [ 0%] Built target sensor_msgs_generate_messages_lisp [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_MotorCmd [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_IMU [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LowCmd [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_HighCmd [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LowState [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_Cartesian [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_LED [ 0%] Built target std_msgs_generate_messages_py [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_HighState [ 0%] Built target geometry_msgs_generate_messages_py [ 0%] Built target sensor_msgs_generate_messages_cpp [ 0%] Built target sensor_msgs_generate_messages_py [ 0%] Built target std_msgs_generate_messages_cpp [ 0%] Built target geometry_msgs_generate_messages_cpp [ 0%] Built target std_msgs_generate_messages_eus [ 0%] Built target sensor_msgs_generate_messages_eus [ 0%] Built target _unitree_legged_msgs_generate_messages_check_deps_MotorState [ 0%] Built target geometry_msgs_generate_messages_eus [ 0%] Built target geometry_msgs_generate_messages_nodejs [ 0%] Built target std_msgs_generate_messages_nodejs [ 0%] Built target sensor_msgs_generate_messages_nodejs [ 0%] Built target tf2_msgs_generate_messages_nodejs [ 0%] Built target controller_manager_msgs_generate_messages_py [ 0%] Built target tf2_msgs_generate_messages_eus [ 0%] Built target tf2_msgs_generate_messages_py [ 0%] Built target tf2_msgs_generate_messages_lisp [ 0%] Built target tf2_msgs_generate_messages_cpp [ 0%] Built target actionlib_msgs_generate_messages_py [ 0%] Built target actionlib_msgs_generate_messages_lisp [ 0%] Built target actionlib_msgs_generate_messages_nodejs [ 0%] Built target rosgraph_msgs_generate_messages_nodejs [ 0%] Built target actionlib_msgs_generate_messages_eus [ 0%] Built target rosgraph_msgs_generate_messages_py [ 0%] Built target actionlib_msgs_generate_messages_cpp [ 0%] Built target rosgraph_msgs_generate_messages_lisp [ 0%] Built target tf_generate_messages_cpp [ 0%] Built target rosgraph_msgs_generate_messages_eus [ 0%] Built target tf_generate_messages_eus [ 0%] Built target rosgraph_msgs_generate_messages_cpp [ 0%] Built target roscpp_generate_messages_py [ 0%] Built target roscpp_generate_messages_lisp [ 0%] Built target tf_generate_messages_lisp [ 0%] Built target roscpp_generate_messages_nodejs [ 0%] Built target roscpp_generate_messages_eus [ 0%] Built target tf_generate_messages_nodejs [ 0%] Built target roscpp_generate_messages_cpp [ 0%] Built target actionlib_generate_messages_cpp [ 0%] Built target actionlib_generate_messages_eus [ 0%] Built target tf_generate_messages_py [ 0%] Built target actionlib_generate_messages_lisp [ 0%] Built target actionlib_generate_messages_nodejs [ 0%] Built target controller_manager_msgs_generate_messages_cpp [ 0%] Built target controller_manager_msgs_generate_messages_nodejs [ 0%] Built target controller_manager_msgs_generate_messages_eus [ 0%] Built target actionlib_generate_messages_py [ 0%] Built target controller_manager_msgs_generate_messages_lisp [ 2%] Built target unitree_move_kinetic [ 5%] Built target unitree_external_force [ 20%] Built target unitree_legged_msgs_generate_messages_py [ 33%] Built target unitree_legged_msgs_generate_messages_lisp [ 47%] Built target unitree_legged_msgs_generate_messages_eus [ 50%] Built target unitreeFootContactPlugin [ 63%] Built target unitree_legged_msgs_generate_messages_nodejs [ 76%] Built target unitree_legged_msgs_generate_messages_cpp [ 79%] Built target unitreeDrawForcePlugin make[2]: No rule to make target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_1.dir/build'. Stop. CMakeFiles/Makefile2:3299: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_1.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_1.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... make[2]: No rule to make target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_2.dir/build'. Stop. CMakeFiles/Makefile2:3481: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_2.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/lcm_server_3_2.dir/all] Error 2 [ 79%] Built target unitree_legged_msgs_generate_messages [ 79%] Built target unitree_legged_msgs_gencpp [ 81%] Linking CXX executable /home/jeff/catkin_ws/devel/lib/unitree_legged_real/velocity_lcm [ 84%] Linking CXX executable /home/jeff/catkin_ws/devel/lib/unitree_legged_real/walk_lcm [ 84%] Linking CXX executable /home/jeff/catkin_ws/devel/lib/unitree_legged_real/torque_lcm [ 85%] Linking CXX executable /home/jeff/catkin_ws/devel/lib/unitree_legged_real/position_lcm /usr/bin/ld: cannot find -lunitree_legged_sdk_arm64 /usr/bin/ld: cannot find -laliengo_comm_arm64 collect2: error: ld returned 1 exit status /usr/bin/ld: cannot find -lunitree_legged_sdk_arm64 /usr/bin/ld: cannot find -laliengo_comm_arm64 collect2: error: ld returned 1 exit status unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/build.make:126: recipe for target '/home/jeff/catkin_ws/devel/lib/unitree_legged_real/walk_lcm' failed make[2]: [/home/jeff/catkin_ws/devel/lib/unitree_legged_real/walk_lcm] Error 1 CMakeFiles/Makefile2:3208: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/walk_lcm.dir/all] Error 2 unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/build.make:126: recipe for target '/home/jeff/catkin_ws/devel/lib/unitree_legged_real/position_lcm' failed make[2]: [/home/jeff/catkin_ws/devel/lib/unitree_legged_real/position_lcm] Error 1 CMakeFiles/Makefile2:3390: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/position_lcm.dir/all] Error 2 /usr/bin/ld: cannot find -lunitree_legged_sdk_arm64 /usr/bin/ld: cannot find -laliengo_comm_arm64 collect2: error: ld returned 1 exit status /usr/bin/ld: cannot find -lunitree_legged_sdk_arm64 /usr/bin/ld: cannot find -laliengo_comm_arm64 collect2: error: ld returned 1 exit status unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/build.make:126: recipe for target '/home/jeff/catkin_ws/devel/lib/unitree_legged_real/torque_lcm' failed make[2]: [/home/jeff/catkin_ws/devel/lib/unitree_legged_real/torque_lcm] Error 1 CMakeFiles/Makefile2:2930: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/torque_lcm.dir/all] Error 2 unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/build.make:126: recipe for target '/home/jeff/catkin_ws/devel/lib/unitree_legged_real/velocity_lcm' failed make[2]: [/home/jeff/catkin_ws/devel/lib/unitree_legged_real/velocity_lcm] Error 1 CMakeFiles/Makefile2:3117: recipe for target 'unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/all' failed make[1]: [unitree_ros/unitree_legged_real/CMakeFiles/velocity_lcm.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: [all] Error 2 Invoking "make -j8 -l8" failed

Is there any way to fix this?

Jtang1188 commented 3 years ago

Furthermore, attached is the link to build my files as show

https://github.com/unitreerobotics/unitree_ros https://github.com/unitreerobotics/aliengo_sdk https://github.com/unitreerobotics/unitree_legged_sdk https://github.com/lcm-proj/lcm

hoxell commented 3 years ago

[...] /usr/bin/ld: cannot find -lunitree_legged_sdk_arm64 /usr/bin/ld: cannot find -laliengo_comm_arm64 [...]

Those are linker errors and completely unrelated to lcm. The referenced libs are either not installed properly, installed in locations not known to the linker by default (check out the LD_LIBRARY_PATH env variable and the ld man page if that's the case), or, if you're lucky, a simple ldconfig may fix this. Either way, the ld manual is your friend here.
But, as I said, completely unrelated to lcm, so you'll have a better chance of getting someone to spend time on helping you troubleshoot the problems over at the relevant unitree repo's.

Jtang1188 commented 3 years ago

I have tried ldconfig, it does not seem to work