ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

I am sorry, I misstyped the version of Ubuntu, it's Beaver 18.04, anyway no, I downloaded it via apt but is it meaningful?

Yes.

Seeing as you aren't building ROS Melodic on Ubuntu Xenial and provided you are on a supported architecture (ie: i386 or amd64 or arm8) you can just install gmapping using apt:

sudo apt install ros-melodic-slam-gmapping

Is there any specific reason you do not do that?

If possible, always prefer to install ROS packages using apt on Ubuntu.

I've explained how you can determine you can use apt to install a package in #q320046.

There are very few circumstances in which building from source is needed or desirable. I would say for normal usage it's almost never needed.

I then cloned the repo in /opt/ros/melodic/share

If you must build packages from source, don't place them in that directory. It will not work.

Clone packages in the source space of your workspace, run rosdep to install all dependencies and then build the workspace (using catkin_make, as you've been doing, or catkin build (from catkin_tools)). After source-ing the devel/setup.bash of your workspace, the package(s) should be available to you.

and run rosdep install gmapping

while this is a valid command, I don't believe it does what you think it does in this case. It does not register the package with ROS, or something similar. rosdep is a tool used to install dependencies of ROS packages.

sourced the environment and run catkin_make.

if you're building your workspace, those two steps should probably be reversed.

Refer to #q252478 for an example workflow that shows the steps in the correct order.

Am i wrong to clone repos there? is there a way to do otherwise without cloning them into the ws, as that seems to be the problem?

Cloning workspaces (ie: building packages from sources) does have its uses, but I would strongly suggest to only do it when absolutely needed. As I wrote in #q320046, there are quite a few steps to get right, multiple points at which things can fail, and it's always more time consuming than a simple apt install.

If you still want or need to build packages from sources, but don't want those packages in your 'main workspace', then I'd suggest to take a look at workspace overlaying. You place the packages you don't want in your main workspace in the underlay, build the underlay, source it and then continue working in your main workspace.


Finally: I would remove any packages you've placed in /opt/ros/melodic/share and try to install whatever you need using apt. If it's not available, use an underlay workspace.

I am sorry, I misstyped the version of Ubuntu, it's Beaver 18.04, anyway no, I downloaded it via apt but is it meaningful?

Yes.

Seeing as you aren't building ROS Melodic on Ubuntu Xenial and provided you are on a supported architecture (ie: i386 or amd64 or arm8(as you've already installed ROS using apt) you can just install gmapping using apt:

sudo apt install ros-melodic-slam-gmapping

Is there any specific reason you do did not do that?

Building ROS packages from source should not be your primary way of installing them. If possible, always prefer to install ROS packages using apt on Ubuntu.

I've explained how you can determine whether you can use apt (ie: whether binary packages are available) to install a package in #q320046.

There In general there are very few circumstances in which building from source is needed or desirable. I would say for normal usage it's almost never needed.

I then cloned the repo in /opt/ros/melodic/share

If you must build packages from source, don't place them in that directory. It will not work.

Clone packages in the source space of your workspace, run rosdep to install all dependencies and then build the workspace (using catkin_make, as you've been doing, or catkin build (from catkin_tools)). After source-ing the devel/setup.bash of your workspace, the package(s) should be available to you.

and run rosdep install gmapping

while this is a valid command, I don't believe it does what you think it does in this case. It does not register the package with ROS, or something similar. rosdep is a tool used to install dependencies of ROS packages.

sourced the environment and run catkin_make.

if you're building your workspace, those two steps should probably be reversed.

Refer to #q252478 for an example workflow that shows the steps in the correct order.

Am i wrong to clone repos there? is there a way to do otherwise without cloning them into the ws, as that seems to be the problem?

Cloning workspaces (ie: building packages from sources) does have its uses, but I would strongly suggest to only do it when absolutely needed. As I wrote in #q320046, there are quite a few steps to get right, multiple points at which things can fail, and it's always more time consuming than a simple apt install.

If you still want or need to build packages from sources, but don't want those packages in your 'main workspace', then I'd suggest to take a look at workspace overlaying. You place the packages you don't want in your main workspace in the underlay, build the underlay, source it and then continue working in your main workspace.


Finally: I would remove any packages you've placed in /opt/ros/melodic/share and try to install whatever you need using apt. If it's not available, use an underlay workspace.

I am sorry, I misstyped the version of Ubuntu, it's Beaver 18.04, anyway no, I downloaded it via apt but is it meaningful?

Yes.

Seeing as you aren't building ROS Melodic on Ubuntu Xenial and provided as you are on a supported architecture (as you've already installed ROS using apt) you can just install gmapping using apt:

sudo apt install ros-melodic-slam-gmapping

Is there any specific reason you did not do that?

Building ROS packages from source should not be your primary way of installing them. If possible, always prefer to install ROS packages using apt on Ubuntu.

I've explained how you can determine whether you can use apt (ie: whether binary packages are available) to install a package in #q320046.

In general there are very few circumstances in which building from source is needed or desirable. I would say for normal usage it's almost never needed.

I then cloned the repo in /opt/ros/melodic/share

If you must build packages from source, don't place them in that directory. It will not work.

Clone packages in the source space of your workspace, run rosdep to install all dependencies and then build the workspace (using catkin_make, as you've been doing, or catkin build (from catkin_tools)). After source-ing the devel/setup.bash of your workspace, the package(s) should be available to you.

and run rosdep install gmapping

while this is a valid command, I don't believe it does what you think it does in this case. It does not register the package with ROS, or something similar. rosdep is a tool used to install dependencies of ROS packages.

sourced the environment and run catkin_make.

if you're building your workspace, those two steps should probably be reversed.

Refer to #q252478 for an example workflow that shows the steps in the correct order.

Am i wrong to clone repos there? is there a way to do otherwise without cloning them into the ws, as that seems to be the problem?

Cloning workspaces (ie: building packages from sources) does have its uses, but I would strongly suggest to only do it when absolutely needed. As I wrote in #q320046, there are quite a few steps to get right, multiple points at which things can fail, and it's always more time consuming than a simple apt install.

If you still want or need to build packages from sources, but don't want those packages in your 'main workspace', then I'd suggest to take a look at workspace overlaying. You place the packages you don't want in your main workspace in the underlay, build the underlay, source it and then continue working in your main workspace.


Finally: I would remove any packages you've placed in /opt/ros/melodic/share and try to install whatever you need using apt. If it's not available, use an underlay workspace.

I am sorry, I misstyped the version of Ubuntu, it's Beaver 18.04, anyway no, I downloaded it via apt but is it meaningful?

Yes.

Seeing as you aren't building ROS Melodic on Ubuntu Xenial and as you are on a supported architecture (as you've already installed ROS using apt) you can just install gmapping using apt:

sudo apt install ros-melodic-slam-gmapping

Is there any specific reason you did not do that?

Building ROS packages from source should not be your primary way of installing them. If possible, always prefer to install ROS packages using apt on Ubuntu.

I've explained how you can determine whether you can use apt (ie: whether binary packages are available) to install a package in #q320046.

In general there are very few circumstances in which building from source is needed or desirable. I would say for normal usage it's almost never needed.needed. Except your own packages of course.

I then cloned the repo in /opt/ros/melodic/share

If you must build packages from source, don't place them in that directory. It will not work.

Clone packages in the source space of your workspace, run rosdep to install all dependencies and then build the workspace (using catkin_make, as you've been doing, or catkin build (from catkin_tools)). After source-ing the devel/setup.bash of your workspace, the package(s) should be available to you.

and run rosdep install gmapping

while this is a valid command, I don't believe it does what you think it does in this case. It does not register the package with ROS, or something similar. rosdep is a tool used to install dependencies of ROS packages.

sourced the environment and run catkin_make.

if you're building your workspace, those two steps should probably be reversed.

Refer to #q252478 for an example workflow that shows the steps in the correct order.

Am i wrong to clone repos there? is there a way to do otherwise without cloning them into the ws, as that seems to be the problem?

Cloning workspaces (ie: building packages from sources) does have its uses, but I would strongly suggest to only do it when absolutely needed. As I wrote in #q320046, there are quite a few steps to get right, multiple points at which things can fail, and it's always more time consuming than a simple apt install.

If you still want or need to build packages from sources, but don't want those packages in your 'main workspace', then I'd suggest to take a look at workspace overlaying. You place the packages you don't want in your main workspace in the underlay, build the underlay, source it and then continue working in your main workspace.


Finally: I would remove any packages you've placed in /opt/ros/melodic/share and try to install whatever you need using apt. If it's not available, use an underlay workspace.

I am sorry, I misstyped the version of Ubuntu, it's Beaver 18.04, anyway no, I downloaded it via apt but is it meaningful?

Yes.

Seeing as you aren't building ROS Melodic on Ubuntu Xenial and as you are on a supported architecture (as you've already installed ROS using apt) you can just install gmapping using apt:

sudo apt install ros-melodic-slam-gmapping

Is there any specific reason you did not do that?

Building ROS packages from source should not be your primary way of installing them. If possible, always prefer to install ROS packages using apt on Ubuntu.

I've explained how you can determine whether you can use apt (ie: whether binary packages are available) to install a package in #q320046.

In general there are very few circumstances in which building from source is needed or desirable. I would say for normal usage it's almost never needed. Except your own packages of course.

I then cloned the repo in /opt/ros/melodic/share

If you must build packages from source, don't place them in that directory. It will not work.

Clone packages in the source space of your workspace, run rosdep to install all dependencies and then build the workspace (using catkin_make, as you've been doing, or catkin build (from catkin_tools)). After source-ing the devel/setup.bash of your workspace, the package(s) should be available to you.

and run rosdep install gmapping

while this is a valid command, I don't believe it does what you think it does in this case. It does not register the package with ROS, or something similar. rosdep is a tool used to install dependencies of ROS packages.

sourced the environment and run catkin_make.

if you're building your workspace, those two steps should probably be reversed.

Refer to #q252478 for an example workflow that shows the steps in the correct order.

Am i wrong to clone repos there? is there a way to do otherwise without cloning them into the ws, as that seems to be the problem?

Cloning workspaces repositories (ie: building packages from sources) does have its uses, but I would strongly suggest to only do it when absolutely needed. As I wrote in #q320046, there are quite a few steps to get right, multiple points at which things can fail, and it's always more time consuming than a simple apt install.

If you still want or need to build packages from sources, but don't want those packages in your 'main workspace', then I'd suggest to take a look at workspace overlaying. You place the packages you don't want in your main workspace in the underlay, build the underlay, source it and then continue working in your main workspace.


Finally: I would remove any packages you've placed in /opt/ros/melodic/share and try to install whatever you need using apt. If it's not available, use an underlay workspace.