Skip to content

Undefined symbol when importing UTTG Python interface: missing linkage to imc / irmv_core libraries #5

@ChloeZ427

Description

@ChloeZ427

Hi, I’m trying to build and use the UTTG library on Ubuntu 20.04 (GCC 9.4, Python 3.10).
I was able to compile UTTG successfully after installing irmv_core and imc from the .deb packages provided in the release page.

However, when I try to run the Python example:

python example/fr3_test.py ( exactly the same with python usage example in readme.md )

I get the following error:

ImportError: /path/to/libUTTG.so: undefined symbol: _ZTVN16bot_traj_planner25TrajectoryIterativeSplineE

This symbol belongs to bot_traj_planner::TrajectoryIterativeSpline, which I believe is implemented inside imc or irmv_core.
It looks like libUTTG.so is not linked against the correct version of these libraries.

What I found so far
✔ 1. UTTG detects system-installed irmv_core & imc

During configuration:

Using system-installed irmv_core, skipping add_subdirectory()
Using system-installed imc, skipping add_subdirectory()

So CMake does not build the bundled source, and instead uses the system .deb version.

✘ 2. But the final library (libUTTG.so) seems not linked with all required dependencies

Because of the missing symbol, it looks like CMake does not add:

imc

irmv_core

bot_traj_planner

other dependent libraries

to the target_link_libraries() list.

Since these libraries are only available as .deb, I cannot easily inspect the exported symbols or rebuild them manually.

My questions

How should UTTG link against the system-installed imc and irmv_core?
The current CMake logic calls find_package(), but the resulting ${PKG_NAME}_LIBRARIES variables do not seem to be propagated to the Python binding target.

Is the .deb version of imc / irmv_core known to contain the required symbols?
Or do I need a source version of these packages?

Could you provide build instructions or CMake patches showing how to correctly link UTTG_interface_py with these dependencies?

Environment

Ubuntu 20.04

GCC 9.4

Python 3.10

UTTG latest commit

Installed:

irmv_core-0.3.4.deb

imc-1.2.0.deb

Thanks a lot! Any guidance on correct linking or dependency setup would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions