Should dist-packages used by a workspace be imported as well?

I imported the /src directory for the ROS workspace ~/ros/flydra-kinetic that is generated by going through the ansible installation package tool from https://github.com/strawlab/flydra.

There were also build and devel files created when I ran the command from the instructions:

/opt/ros/workspace-installers/kinetic/make-freemovr-workspace.sh

However, when trying to upload the workspace into CLion in order to develop and debug the program, I could only get the parsed list of functions and inspection to work correctly by using the ~/ros/flydra-kinetic/src directory as the topmost file. It would also fail to locate header files when building if I had selected ~/ros/flydra-kinetic as the topmost file and had the run/debug buttons greyed out.

Right now, I'm able to get the package to build correctly. However, there are still red error squigglies below some of the import lines in various files, such as 'from ros_flydra import cv2_bridge'. I've also made a debug profile by going into Settings > Build, Execution, Deployment > CMake > and passing in -DCMAKE_BUILD_TYPE=Debug in options so that I can set breakpoints when running ROS nodes.

I haven't used CLion before, and was unable to figure out how exactly to use the Edit Configurations prompt. I want to be able to start a ROS master, and set breakpoints to check the state of the various nodes that are publishing/subscribing. There is a list of already present CMakeApplications, only three of which actually have an executable in the Executable field: camnode, gl_view, and image_raw.

I found the location of some .cpp files that correspond to the executables that were available, but if I set breakpoints in these files and run the configuration it doesn't hit them:

  • /motmot_ros_stack/camiface_ros/src/camnode.cpp
  • /motmot_ros_stack/camiface_ros/src/gl_view.cpp
  • /motmot_ros_stack/camiface_ros/src/raw_info.cpp

I tried going to the terminal and giving the .py files that start nodes execute permissions so I could use them in the configuration settings, but that didn't make them recognizable as an executable, the .cpp files for camnode, gl_view, and raw_info were also not recognizable when trying to repeat the working configurations. Is there a linux directory where the executable binaries of these files are stored?

Another thing that I'm concerned about, is that the actual source files for Flydra itself are not imported into CLion.

The changes I'm wanting to implement are probably going to be within both the ROS workspace /src files and the Flydra library packages. Do I need to import the dist-packages located in /usr/lib/python2.7/dist-packages or within CLion itself as /ExternalLibraries/Python2.7 interpreter library/python2.7/dist-packages:

  • flydra
  • flydra_analysis
  • flydra_analysis-0.7.8.egg-info
  • flydra_camnode
  • flydra_camnode-0.7.4.egg-info
  • flydra_core
  • flydra_core-0.7.9.egg-info

in order to get the breakpoints to work in these files? If I put a breakpoint in any of the dist-package files they aren't ever stopped when running the working configurations, but that makes sense because those are files in the ROS workspace.

How can I get the configuration profiles working for Debugging? Any advice is welcome.

0

Please sign in to leave a comment.