Skip to content

[BUG] option(ENABLE_DIAGNOSTIC_PRINT "Enable printing of diagnostic messages" ON) spams the terminal with Edge exists message #211

@Mechazo11

Description

@Mechazo11

Describe the bug

Hi,

I am using the latest build of TEASER++ in a LiDAR based SLAM pipeline. It appears when I call the following

teaser_solver_->solve(src_cloud, tgt_cloud, correspondences); 
auto solution = teaser_solver_->getSolution();

The terminal calling the solver, gets spamed with the following debug messages

[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.
[map_manager-2] Edge exists.=

This is causing the loss of other critical information during execution. After some searching and with Claude's help, I have noticed the following in the CMakeLists.txt file in the master branch

option(BUILD_SHARED_LIBS "Build shared libraries" ON)
option(BUILD_TEASER_FPFH "Build TEASER++ wrappers for PCL FPFH estimation." OFF)
option(BUILD_MATLAB_BINDINGS "Build MATLAB bindings" OFF)
option(BUILD_PYTHON_BINDINGS "Build Python bindings" OFF)
option(BUILD_DOC "Build documentation" ON)
option(BUILD_WITH_MARCH_NATIVE "Build with flag march=native" OFF)
option(ENABLE_MKL "Try to use Eigen with MKL" OFF)
option(ENABLE_DIAGNOSTIC_PRINT "Enable printing of diagnostic messages" ON)
option(ENABLE_DIAGNOSTIC_PRINT "Enable printing of diagnostic messages" ON) <-- look here -->

To Reproduce / Steps I have tried
I used this cmake command to rectify the problem but it didn't work

cmake -DBUILD_TEASER_FPFH=ON -DBUILD_PYTHON_BINDINGS=ON -DTEASERPP_PYTHON_VERSION=3.10 -DCMAKE_BUILD_TYPE=Release ..

By my understanding, in Release mode TEASER should not be printing out the debug messages but somehow this behavior is being overridden.

Is printing out the debug messages, the normal behavior or is it an unwarranted side effect? The official webpage mentions ENABLE_DIAGNOSTIC_PRINT should be turned off

Image

Have you run the unit tests?

  • Yes
  • [] No --- then this issue will be closed.

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