#1094437 mrpt: please consider unembedding exprtk.hpp

#1094437#5
Date:
2025-01-28 07:12:25 UTC
From:
To:
Dear Maintainer,

mrpt source has embedded exprtk.hpp which is now provided by a package
of its own, libexprtk-dev. Moreover, libmrpt-expr-dev installs the
embedded header. Please consider unembedding exprtk.hpp and
build-depending on libexprtk-dev instead. FYI, I have not checked
whether your package builds with exprtk.hpp from libexprtk-dev.

Andrius

#1094437#10
Date:
2025-01-30 09:14:24 UTC
From:
To:
Copy that...

It's always good news to hear about the possibility to unembed parts
of this large project.
If there is no rush, I'll try to target this for the next large
refactoring of the library (v3.0.0).

Best,

#1094437#15
Date:
2025-01-30 10:21:43 UTC
From:
To:
Hi,

Thanks for reply. There is absolutely no rush.

Best,
Andrius

#1094437#18
Date:
2026-06-21 22:23:22 UTC
From:
To:
Hello,

Bug #1094437 in mrpt reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/robotics-team/mrpt/-/commit/08def927824fe23f8b28a6470cc4f5bf6f39614b
------------------------------------------------------------------------
debian/rules: disable LTO (miscompiles thread exception unwinding)

GCC's LTO miscompiles exception unwinding across thread boundaries in
some translation units, causing spurious SIGSEGV/abort crashes in the
mrpt_maps and mrpt_nav unit tests (confirmed via gdb in a clean
container: both test binaries pass 100% once rebuilt without -flto).
Drop optimize=+lto from DEB_BUILD_MAINT_OPTIONS until this toolchain
bug is understood/fixed.

Also unembed exprtk.hpp: upstream's mrpt_expr/CMakeLists.txt already
auto-detects a system exprtk.hpp and prefers it over the bundled copy,
so build-depending on libexprtk-dev and excluding the embedded copy
from the +ds source is enough to switch to the system library.

Closes: #1094437
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1094437

#1094437#23
Date:
2026-06-21 23:03:04 UTC
From:
To:
Hello,

Bug #1094437 in mrpt reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/robotics-team/mrpt/-/commit/17afa63100dbb7b5ff9abe3627060cc546bd2bcb
------------------------------------------------------------------------
debian/rules: disable LTO (miscompiles thread exception unwinding)

GCC's LTO miscompiles exception unwinding across thread boundaries in
some translation units, causing spurious SIGSEGV/abort crashes in the
mrpt_maps and mrpt_nav unit tests (confirmed via gdb in a clean
container: both test binaries pass 100% once rebuilt without -flto).
Drop optimize=+lto from DEB_BUILD_MAINT_OPTIONS until this toolchain
bug is understood/fixed.

Also unembed exprtk.hpp: upstream's mrpt_expr/CMakeLists.txt already
auto-detects a system exprtk.hpp and prefers it over the bundled copy,
so build-depending on libexprtk-dev and excluding the embedded copy
from the +ds source is enough to switch to the system library.

Closes: #1094437
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1094437