wilselby / ROS_quadrotor_simulator

Quadrotor simulator using ROS, Gazebo, and RVIZ
269 stars 123 forks source link

Fatal error: MultiDofFollowJointTrajectoryAction.h no such file or directory #16

Open jnguyen596 opened 6 years ago

jnguyen596 commented 6 years ago

Hi, while trying to run catkin_make under the Install rotors simulation section. I am getting the following error message.

[76%] Building CXX object ROS_quadrotor_simulator/action_controller/CMakeFiles/action_controller.dir/src/actionController.cpp.o /home/jn//ros/catkin_ws/src/ROS_quadrotor_simulator/action_controller/src/actionController.cpp:6:67: Fatal error: action_controller/MultiDofFollowJointTrajectoryAction.h: No such file or directory

include <action_controller/MultiDofFollowJointTrajectoryAction.h>

compilation terminated. make[2]: [ROS_quadrotor_simulator/action_controller/CMakeFiles/action_controller.dir/src/actionController.cpp.o] Error 1 make[1]: [ROS_quadrotor_simulator/action_controller/CMakeFiles/action_controller.dir/src/alll] Error 2

make: *** [all] Error 2

Invoking "make -j1 -l1" failed

I believe this is a similar issue to a previous one that was posted recently. If I could get a push in the right direction that would be greatly appreciated.

Thank you!

jnguyen596 commented 6 years ago

Update: I solved it navigating to the ROS_quadrotor_simulator subdirectory and running a cmake action_controller on it. I was able to compile my catkin workspace with no issues afterwards.

jnguyen596 commented 6 years ago

Reopening:

Turns out the above resolution, merely made the package be ignored when compiling the workspace. If anyone has any insight, that would be very helpful. :)

NuenoB commented 6 years ago

hi so this are my changes: git diff you can ignore the tempory files. the thing i think is the important part is: catkin_make clean catkin_make catkin_make --pkg action_controller catkin_make i also copy the archive fix-unused-typedef-warning.patch for the packageglog_catkin to the src folder

jnguyen596 commented 6 years ago

Hi, the link that you posted in your comment came out with the error: {"success":false,"error":404,"message":"Not Found"}

NuenoB commented 6 years ago

i uploaded again git diff but i don't think that is the important part

jnguyen596 commented 6 years ago

Still does not work sir. Thank you for the assistance though.

NuenoB commented 6 years ago

man sorry, the other thing i did was the tutorial for actionlib

jianhuaixie commented 6 years ago

Still have the problem,can't compile it success

jianhuaixie commented 6 years ago

ROS_quadrotor_simulator/moveit_simple_controller_manager/include/moveit_simple_controller_manager/multi_dof_follow_joint_trajectory_handle.h:42:67: fatal error: action_controller/MultiDofFollowJointTrajectoryAction.h

wilselby commented 6 years ago

I think you need to catkin_make --pkg action_controller by itself to generate the missing file.

nkhedekar commented 6 years ago

@wilselby sir I tried that however the same error still persists

Desktop/catkin_ws/src/ROS_quadrotor_simulator/moveit_simple_controller_manager/include/moveit_simple_controller_manager/multi_dof_follow_joint_trajectory_handle.h:42:67: fatal error: action_controller/MultiDofFollowJointTrajectoryAction.h: No such file or directory compilation terminated. ROS_quadrotor_simulator/moveit_simple_controller_manager/CMakeFiles/moveit_simple_controller_manager.dir/build.make:62: recipe for target 'ROS_quadrotor_simulator/moveit_simple_controller_manager/CMakeFiles/moveit_simple_controller_manager.dir/src/moveit_simple_controller_manager.cpp.o' failed make[2]: [ROS_quadrotor_simulator/moveit_simple_controller_manager/CMakeFiles/moveit_simple_controller_manager.dir/src/moveit_simple_controller_manager.cpp.o] Error 1 CMakeFiles/Makefile2:8167: recipe for target 'ROS_quadrotor_simulator/moveit_simple_controller_manager/CMakeFiles/moveit_simple_controller_manager.dir/all' failed make[1]: [ROS_quadrotor_simulator/moveit_simple_controller_manager/CMakeFiles/moveit_simple_controller_manager.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j8 -l8" failed

tahsinkose commented 6 years ago

This problem is related with MoveIt!. You need to change CMakeLists file of moveit_simple_controller_manager package so that it is find_package()d to perceive action_controller. Below is the fix:

add_definitions(-std=c++11), next to the project definition line.

find_package(catkin COMPONENTS moveit_core pluginlib actionlib roscpp control_msgs REQUIRED action_controller), You need to add action_controller next to the REQUIRED field.

Finally add, add_dependencies(moveit_simple_controller_manager action_controller_generate_messages_cpp) which assures that this package will wait for the completion of action_controller's message generation. Add this line next to the add_library line.


In case you get lost in the CMakeLists file of moveit_simple_controller_manager, the accurate version is attached below. Just copy it into the moveit_simple_controller_manager which is under your catkin workspace.

CMakeLists.txt


Note: This fix solves the dependency problem. However, there will still be a small error in your catkin_make arising from the changed MoveIt! API. They have updated their API in the beginning of 2018, thus @wilselby 's implementation naturally can not respect to that.

nguyensinhtu commented 5 years ago

in my case. i clone all repositories except ROS_quadrotor_simulator. i run catkin_make. and then i clone ROS_quadrotor_simulator and run catkin_make again. it work for me

saifullah3396 commented 4 years ago

This needs an update in moveit_simple_controller_manager/CMakeLists.txt. Adding action_controller in find_package() solves the problem.

modpy44 commented 4 years ago

I sloved this by adding add_dependencies(action_controller action_controller_generate_messages_cpp) to action_controller/CmakeLists.txt . It have to be located below target_link_libraries line .

AliaChe commented 4 years ago

Thank you modpy44, this solves the issue for me :)

mSimon12 commented 3 years ago

Thanks @modpy44, your suggestion solved my problem ;)