Robotics StackExchange | Archived questions

Linker errors with "assimp" rosdep when depending on geometric_shapes

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 planningmodels and kdlparser, but I have nailed the problem down to this single dependency on geometricshapes. Before electric, "assimp" was a ROS package and the dependency was recursively passed on. Is this not the case with rosdeps? geometricshapes 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)

Asked by AHornung on 2011-10-27 21:04:02 UTC

Comments

Just to be sure, the Ubuntu packages assimp-dev assimp-bin libassimp2 are all installed.

Asked by AHornung on 2011-10-27 21:07:28 UTC

Answers