Package: mrpt Version: 1:1.5.3-1 Severity: normal Tags: patch User: [email protected] Usertags: origin-ubuntu bionic ubuntu-patch
Hi José Luis, The new upstream release of mrpt fails to build on armhf in Ubuntu, because it assumes unaligned reads are allowed. This is not a portable assumption; specifically, on armhf this may raise a SIGBUS depending on the CPU and the kernel configuration. The Ubuntu infrastructure does raise SIGBUS, so I've uploaded the attached patch to Ubuntu to fix the failure. Please consider applying this in Debian as well, where it make affect some number of users even if it doesn't trigger on Debian infrastructure. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ [email protected] [email protected]
diff -Nru mrpt-1.5.3/debian/patches/no-unaligned-access mrpt-1.5.3/debian/patches/no-unaligned-access --- mrpt-1.5.3/debian/patches/no-unaligned-access 1969-12-31 16:00:00.000000000 -0800 +++ mrpt-1.5.3/debian/patches/no-unaligned-access 2017-10-30 23:29:50.000000000 -0700 @@ -0,0 +1,19 @@ +Description: use alignment-safe buffers for our timevals. + Casting a char* to anything larger is not universally safe due to alignment + constraints on some platforms. So declare our buffer in terms of a 64-bit + type to ensure architecture-appropriate alignment from the compiler. +Author: Steve Langasek <[email protected]> + +Index: mrpt-1.5.3/libs/base/include/mrpt/utils/CTicTac.h +=================================================================== +--- mrpt-1.5.3.orig/libs/base/include/mrpt/utils/CTicTac.h ++++ mrpt-1.5.3/libs/base/include/mrpt/utils/CTicTac.h +@@ -28,7 +28,7 @@ + void Tic(); //!< Starts the stopwatch. \sa Tac + double Tac(); //!< Stops the stopwatch. \return Returns the ellapsed time in seconds. \sa Tic + private: +- unsigned char largeInts[64]; ++ unsigned long long largeInts[8]; + }; // End of class def. + + } // End of namespace diff -Nru mrpt-1.5.3/debian/patches/series mrpt-1.5.3/debian/patches/series --- mrpt-1.5.3/debian/patches/series 1969-12-31 16:00:00.000000000 -0800 +++ mrpt-1.5.3/debian/patches/series 2017-10-30 23:29:38.000000000 -0700 @@ -0,0 +1 @@ +no-unaligned-access

