If you are using catkin
, what you should as rosbuild
will be eventually removed sometime, all ros packages can easily be found using find_package(catkin REQUIRED <PKG>)
, but you need to add the dependency to the package.xml
as well.
There cannot be multiple packages with the same name on your path, or, more precisly, in one of the directories in your ROS_PACKAGE_PATH
. in each "level", (i.e. workspace, /opt/ros, ...) you can only have one.
The names of directories have nothing to do with the package names. The exception is the directory name of the package itself, i.e. which contains the package.xml
and the CMakeLists.txt
. This is the name of your package and is also listed in the package.xml
.
By convention, most repositories have the name of the meta-package they contain. But this does not need to be like that!
So in your case, only having a dependency to navigation
is fine.
HOWEVER you should never depend on a meta-package, but only on regular packages.