title: rosrun error couldn't find executable and CMake error
body: <p>i am trying to run rosrun after i start up gazebo, but i have the following error as shown:</p>
  <pre><code>[rosrun] Couldn't find executable named sensor_data_listerner.py below /home/sk/catkin_ws/src/testbot_description
  </code></pre>
  <p>when i run the command: <code>rosrun testbot_description sensor_data_listerner.py</code></p>
  <p>i tried to use <code>source ~/catkin_ws/devel/setup.bash</code> but i still could not get it worked</p>
  <p>i have already make the phyton file executable, but still cannot get it run.</p>
  <p>hopefully someone can help me out</p>
  <p>my CMakeLists file is as shown, but there is error when i tried to build the file:</p>
  <pre><code>cmake_minimum_required(VERSION 2.8.3)
  project(testbot_description)
  
  ## Compile as C++11, supported in ROS Kinetic and newer
  # add_compile_options(-std=c++11)
  
  ## Find catkin macros and libraries
  ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
  ## is used, also find other catkin packages
  find_package(catkin REQUIRED COMPONENTS
    urdf
    tf
    roscpp
    rospy
    std_msgs
    geometry_msgs
    sensor_msgs
  )
  
  ## System dependencies are found with CMake's conventions
  # find_package(Boost REQUIRED COMPONENTS system)
  
  
  ## Uncomment this if the package has a setup.py. This macro ensures
  ## modules and global scripts declared therein get installed
  ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
  # catkin_python_setup()
  
  ################################################
  ## Declare ROS messages, services and actions ##
  ################################################
  
  ## To declare and build messages, services or actions from within this
  ## package, follow these steps:
  ## * Let MSG_DEP_SET be the set of packages whose message types you use in
  ##   your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...).
  ## * In the file package.xml:
  ##   * add a build_depend tag for &quot;message_generation&quot;
  ##   * add a build_depend and a run_depend tag for each package in MSG_DEP_SET
  ##   * If MSG_DEP_SET isn't empty the following dependency has been pulled in
  ##     but can be declared for certainty nonetheless:
  ##     * add a run_depend tag for &quot;message_runtime&quot;
  ## * In this file (CMakeLists.txt):
  ##   * add &quot;message_generation&quot; and every package in MSG_DEP_SET to
  ##     find_package(catkin REQUIRED COMPONENTS ...)
  ##   * add &quot;message_runtime&quot; and every package in MSG_DEP_SET to
  ##     catkin_package(CATKIN_DEPENDS ...)
  ##   * uncomment the add_*_files sections below as needed
  ##     and list every .msg/.srv/.action file to be processed
  ##   * uncomment the generate_messages entry below
  ##   * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...)
  
  ## Generate messages in the 'msg' folder
  # add_message_files(
  #   FILES
  #   Message1.msg
  #   Message2.msg
  # )
  
  ## Generate services in the 'srv' folder
  # add_service_files(
  #   FILES
  #   Service1.srv
  #   Service2.srv
  # )
  
  ## Generate actions in the 'action' folder
  # add_action_files(
  #   FILES
  #   Action1.action
  #   Action2.action
  # )
  
  ## Generate added messages and services with any dependencies listed here
  generate_messages(
    DEPENDENCIES
    std_msgs  # Or other packages containing msgs
  )
  
  ################################################
  ## Declare ROS dynamic reconfigure parameters ##
  ################################################
  
  ## To declare and build dynamic reconfigure parameters within this
  ## package, follow these steps:
  ## * In the file package.xml:
  ##   * add a build_depend and a run_depend tag for &quot;dynamic_reconfigure&quot;
  ## * In this file (CMakeLists.txt):
  ##   * add &quot;dynamic_reconfigure&quot; to
  ##     find_package(catkin REQUIRED COMPONENTS ...)
  ##   * uncomment the &quot;generate_dynamic_reconfigure_options&quot; section below
  ##     and list every .cfg file to be processed
  
  ## Generate dynamic reconfigure parameters in the 'cfg' folder
  # generate_dynamic_reconfigure_options(
  #   cfg/DynReconf1.cfg
  #   cfg/DynReconf2.cfg
  # )
  
  ###################################
  ## catkin specific configuration ##
  ###################################
  ## The catkin_package macro generates cmake config files for your package
  ## Declare things to be passed to dependent projects
  ## INCLUDE_DIRS: uncomment this if you package contains header files
  ## LIBRARIES: libraries you create in this project that dependent projects also need
  ## CATKIN_DEPENDS: catkin_packages dependent projects also need
  ## DEPENDS: system dependencies of this project that dependent projects also need
  catkin_package(
    INCLUDE_DIRS include
    LIBRARIES testbot_description
    CATKIN_DEPENDS
    urdf
    tf
    roscpp
    rospy
    std_msgs
    geometry_msgs
    sensor_msgs
    DEPENDS system_lib
  )
  
  ###########
  ## Build ##
  ###########
  
  ## Specify additional locations of header files
  ## Your package locations should be listed before other locations
  include_directories(
  # include
    ${catkin_INCLUDE_DIRS}
  )
  
  add_executable(parser src/parser.cpp)
  target_link_libraries(parser ${catkin_LIBRARIES})
  
  ## Declare a C++ library
  # add_library(${PROJECT_NAME}
  #   src/${PROJECT_NAME}/testbot_description.cpp
  # )
  
  ## Add cmake target dependencies of the library
  ## as an example, code may need to be generated before libraries
  ## either from message generation or dynamic reconfigure
  # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
  
  ## Declare a C++ executable
  ## With catkin_make all packages are built within a single CMake context
  ## The recommended prefix ensures that target names across packages don't collide
  # add_executable(${PROJECT_NAME}_node src/testbot_description_node.cpp)
  
  ## Rename C++ executable without prefix
  ## The above recommended prefix causes long target names, the following renames the
  ## target back to the shorter version for ease of user use
  ## e.g. &quot;rosrun someones_pkg node&quot; instead of &quot;rosrun someones_pkg someones_pkg_node&quot;
  # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX &quot;&quot;)
  
  ## Add cmake target dependencies of the executable
  ## same as for the library above
  # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
  
  ## Specify libraries to link a library or executable target against
  # target_link_libraries(${PROJECT_NAME}_node
  #   ${catkin_LIBRARIES}
  # )
  
  #############
  ## Install ##
  #############
  
  # all install targets should use catkin DESTINATION variables
  # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html
  
  ## Mark executable scripts (Python etc.) for installation
  ## in contrast to setup.py, you can choose the destination
  # install(PROGRAMS
  #   scripts/my_python_script
  #   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  # )
  
  ## Mark executables and/or libraries for installation
  # install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node
  #   ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  #   LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  #   RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  # )
  
  ## Mark cpp header files for installation
  # install(DIRECTORY include/${PROJECT_NAME}/
  #   DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
  #   FILES_MATCHING PATTERN &quot;*.h&quot;
  #   PATTERN &quot;.svn&quot; EXCLUDE
  # )
  
  ## Mark other files for installation (e.g. launch and bag files, etc.)
  # install(FILES
  #   # myfile1
  #   # myfile2
  #   DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
  # )
  
  #############
  ## Testing ##
  #############
  
  ## Add gtest based cpp test target and link libraries
  # catkin_add_gtest(${PROJECT_NAME}-test test/test_testbot_description.cpp)
  # if(TARGET ${PROJECT_NAME}-test)
  #   target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})
  # endif()
  
  ## Add folders to be run by python nosetests
  # catkin_add_nosetests(test)
  </code></pre>
  <p>i have the error as shown:</p>
  <pre><code>CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:305 (message):
    catkin_package() include dir 'include' does not exist relative to
    '/home/sk/catkin_ws/src/testbot_description'
  Call Stack (most recent call first):
    /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
    testbot_description/CMakeLists.txt:109 (catkin_package)
  </code></pre>