Ask Your Question

rospack error when running pre-release builds

asked 2012-08-22 12:05:25 -0600

abencz gravatar image

updated 2012-08-28 03:58:44 -0600

When submitting my stack for pre-release builds, I'm getting similar errors for all packages in the stack.

  [rosbuild] Cached build flags older than manifests; calling rospack to get flags
  Failed to invoke /opt/ros/fuerte/bin/rospack cflags-only-I;--deps-only clearpath_sensors
  sh: pkg-config: not found

  CMake Error at /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:129 (message):

    Failed to invoke rospack to get compile flags for package
    'clearpath_sensors'.  Look above for errors from rospack itself.  Aborting.
    Please fix the broken dependency!

  Call Stack (most recent call first):
    /opt/ros/fuerte/share/ros/core/rosbuild/public.cmake:227 (rosbuild_invoke_rospack)
    CMakeLists.txt:12 (rosbuild_init)

Rospack fails, and from what I gather it's caused by an error in pkg-config. I've tried running the displayed rospack command (/opt/ros/fuerte/bin/rospack cflags-only-I --deps-only clearpath_sensors) against these packages on my own machine and this works fine. Running rosmake locally also works correctly. What am I missing?

The console log for this pre-release run can be found on the Hudson server.

Frustratingly, everything works fine on devel_fuerte. It's only the pre-release build that's failing.

Any insight would be appreciated.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2012-08-28 07:12:46 -0600

Dirk Thomas gravatar image

updated 2012-09-04 14:33:59 -0600

As stated in the log the buildfarm is not able to find the tool "pkg-config" which is called to find compiler and linker flags for packages. When your package depends on i.e. "ros" it should pull in that dependency automatically.

Can you provide a link to the exact repository state you are trying to build? May be from a look to that it becomes clear why there is no transitive dependency to pkg-config.

I have to correct my previous answer: since "ros" is the build dependency of your stack you will only get it's runtime dependencies. Therefore you do not get pkg-config as a dependency of your stack. After that I looked further where the need for pkg-config came from. Actually std_msgs is using pkg-config via backticks in the manifest.xml to fetch the compiler and linker flags. But it does not state that dependency in it's stack.xml. Therefore I have added that missing dependency to std_msgs and just released std_msgs-0.4.11 (as always: it takes some time for the debian packages to appear in shadow-fixed and than public).

edit flag offensive delete link more


Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2012-08-22 12:05:25 -0600

Seen: 349 times

Last updated: Sep 04 '12