Skip to content

rosmon finds underlay installed python scripts before considering scripts in overlay source #188

@xqms

Description

@xqms

If a python package is installed in an underlay workspace, rosmon will find its nodes before considering source paths in overlay workspaces.

This is caused by this logic:

// Try catkin libexec & catkin share first
for(const auto& workspace : g_catkin_workspaces)
{
fs::path workspacePath(workspace);
fs::path execPath = workspacePath / "lib" / package / name;
if(fs::exists(execPath) && access(execPath.c_str(), X_OK) == 0)
return execPath.string();
std::string sharePath = getExecutableInPath(workspacePath / "share" / package, name);
if(!sharePath.empty())
return sharePath;
}
// Crawl package directory for an appropriate executable
std::string packageDir = PackageRegistry::getPath(package);
if(!packageDir.empty())
return getExecutableInPath(packageDir, name);

roslaunch will correctly find the source path in the overlay workspace - so we will need to adapt the logic to however roslaunch is doing it.

@MariusBeul

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions