Linker errors with "assimp" rosdep when depending on geometric_shapes [closed]

asked 2011-10-27 21:04:02 -0500

AHornung gravatar image

updated 2011-10-27 21:06:21 -0500

When creating a simple package with the only dependencies

 <depend package="roscpp"/>
 <depend package="geometric_shapes"/>

(add a "Hello World"-style cpp with no includes just that there's something to compile) there are the following linker errors concerning "assimp" when running rosmake:

/opt/ros/electric/stacks/arm_navigation/geometric_shapes/lib/libgeometric_shapes.so: undefined reference to `Assimp::Importer::~Importer()'                   
/opt/ros/electric/stacks/arm_navigation/geometric_shapes/lib/libgeometric_shapes.so: undefined reference to `Assimp::Importer::ReadFileFromMemory(void const*, unsigned long, unsigned int, char const*)'
/opt/ros/electric/stacks/arm_navigation/geometric_shapes/lib/libgeometric_shapes.so: undefined reference to `Assimp::Importer::Importer()'
collect2: ld returned 1 exit status

Originally my package was depending on planning_models and kdl_parser, but I have nailed the problem down to this single dependency on geometric_shapes. Before electric, "assimp" was a ROS package and the dependency was recursively passed on. Is this not the case with rosdeps? geometric_shapes does list the system package assimp as rosdep (and thus compiled fine). The only solution I found for my package was to add the dependency

<depend package="assimp" />

But is that the actually right way, since the assimp package is deprecated? Adding assimp as rosdep did not help here. (All tested on Ubuntu 11.04 64bit with the latest released electric debs)

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2013-03-28 12:01:08

Comments

Just to be sure, the Ubuntu packages assimp-dev assimp-bin libassimp2 are all installed.
AHornung gravatar image AHornung  ( 2011-10-27 21:07:28 -0500 )edit