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

can't find packages

asked 2011-08-24 23:56:20 -0600

Sergey gravatar image

updated 2014-01-28 17:10:17 -0600

ngrennan gravatar image

I'm new to ROS. I got a project from previous developer and now i'm trying to compile it. the project uses several dependent packages (such as eigen, tf etc.) but it can't find any of them.

I installed ROS according to instructions and I can find these packages in /opt/ros/diamondback/stacks, but when I try to call rosmake or rosdep to any of them it fails to find them.

as I understood it searches in /home/username/.ros/rosmake/ when i call rosmake, which of course isn't correct. Where should I change it?

this is how it reacts to rosmake:

sergey@ubuntu:/opt/ros/diamondback/stacks/geometry$rosmake tf
[ rosmake ] Packages requested are: ['tf']                           
[ rosmake ] Logging to directory/home/sergey/.ros/rosmake/rosmake_output-0110825-143550
[ rosmake ] Expanded args ['tf'] to: >[]                                                             
[ rosmake ] WARNING: The following args could not be parsed as stacks or packages: >['tf']           
[ rosmake ] ERROR: No arguments could be parsed into valid package or stack names.

Thank you

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted
1

answered 2011-08-25 00:13:48 -0600

Lorenz gravatar image

rosmake doesn't search in $HOME/.ros/rosmake. It's just the directory it puts some logs in.

I assume that you are using Ubuntu and installed ros with debian packages. If the system cannot find tf, I suspect that you installed ros-diamondback-base and not the recommended package ros-diamondback-desktop-full. To fix it, just execute the following in a terminal:

sudo apt-get install ros-diamondback-desktop-full

If that doesn't help, something is probably wrong with your ROS_PACKAGE_PATH. In that case, can you please post the output of

echo $ROS_PACKAGE_PATH
edit flag offensive delete link more
0

answered 2011-08-25 03:09:51 -0600

Sergey gravatar image

2 Lorenz I installed the full package and it doesn't want to update any more.

and this is the output you asked for:

sergey@ubuntu$ echo $ROS_PACKAGE_PATH opt/ros/diamondback/stacks

it looks to be correct.

edit flag offensive delete link more

Comments

What do you mean with 'it doesn't want to update anymore'? Did you do a `sudo apt-get update` and then the `sudo-apt-get install ros-diamondback-desktop-full`? What exactly was the error? The output of the echo command is missing a preceding /. But I guess that's just a copy-paste error.
Lorenz gravatar image Lorenz  ( 2011-08-25 03:23:17 -0600 )edit
Yes, tried the apt-get, it said i have the newest version. The problem was in missing /. Thanks )
Sergey gravatar image Sergey  ( 2011-08-25 03:36:17 -0600 )edit
0

answered 2011-08-25 03:48:10 -0600

dornhege gravatar image

updated 2011-08-25 03:48:22 -0600

You do not need to make anything if you installed via packages. The code in /opt already comes compiled.

Nevertheless it should find the packages. Did you source /opt/ros/diamondback/setup.bash (or just setup.sh if not using bash)? If yes, rospack find tf should output /opt/ros/diamondback/stacks/geometry/tf and everything is fine.

edit flag offensive delete link more
-1

answered 2011-08-25 02:09:56 -0600

updated 2011-08-25 02:11:26 -0600

Hi,

I am also new to ROS, today I was testing some code with tf and dometry, the compiler used to return no such file or directory once I issue rosmake after adding the include for the header files and fixing the manifest.xml file. I resolved the problem by issuing a cmake . command in order to compile and link the files then rosmake. And everything went good then. Not sure if this would help in your case, hope so.

Good luck,

edit flag offensive delete link more

Comments

Rosmake actually executes make which creates a build directory in which it calls cmake. Calling cmake by hand should never be necessary and might actually screw things up. If you execute `cmake .` in a package root, it might overwrite ros' original Makefile which can lead to further problems...
Lorenz gravatar image Lorenz  ( 2011-08-25 02:16:13 -0600 )edit

Question Tools

Stats

Asked: 2011-08-24 23:56:20 -0600

Seen: 5,702 times

Last updated: Aug 25 '11