How do I fix my broken tab completion?
Something went terribly wrong with my ROS Kinetic.
I think it went wrong after trying to solve vtk warnings described here (a compiling warning from the Point Cloud Library that I wanted to be gone).
I installed python-vtk
(a terrible decision, don't do it if you're using ros-pcl
) which removed conflicting packages or something, because some other packages weren't working anymore.
To solve that I removed python-vtk again and reinstalled all the broken packages for my project with rosdep install <my_package>
. To my surprise, a lot of packages were "not installed" anymore. My project worked again, but tab completion was broken somehow.
The way tab completion behaves now is that the first tab completion works fine, like tabbing rosd
shows me rosdep
, rosdep-source
, etc... But with tabbing for the the next argument, it just shows me the contents of the current folder. I've sourced the setup.bash and all the environment variables seem fine:
ROS_ROOT=/opt/ros/kinetic/share/ros ROS_PACKAGE_PATH=/opt/ros/kinetic/share ROS_MASTER_URI=http://localhost:11311 ROS_VERSION=1 ROS_DISTRO=kinetic ROS_ETC_DIR=/opt/ros/kinetic/etc/ros
Then I thought maybe something is wrong with ROS too, not only the packages. So first I tried installing ROS Kinetic like described on the tutorial page, but without removing my old ROS first. To my surprise it actually installed, not saying that it already is installed? So my ROS Kinetic was working without my Ubuntu (16.04 64-bit, kernel 4.4.0-127-generic) knowing that it was installed. What is going here??? Something happened that made my system think that nothing from ROS is installed anymore, but it still works. Also this installation did solve tab completion for roslaunch
, but it did not for rosdep
(e.g. rosdep install
, it doesn't tab complete install
). (This also raises the question if I can even remove ROS things if the system thinks it's not installed? Not tested yet though.)
So to sum it up, everything works fine except for certain tab completions and my system thinks some ROS components are not installed even though they are. My next try to solve this is removing everything from ROS first and then reinstalling everything again. But I'd like to delay this step first, since I can just work with ROS for now. If anyone here doesn't know any other solution I will proceed with reinstalling everything from ROS.