[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1051848: mrpt: FTBFS on riscv64 due to test failed



Source: mrpt
Version: 1:2.10.0+ds-3
Severity: important
Tags: patch ftbfs
User: debian-riscv@lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: debian-riscv@lists.debian.org

Dear Maintainer,

mrpt fails to build from source on riscv64 due to:
```
make[5]: Leaving directory '/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu'
make  -f tests/CMakeFiles/test_mrpt_ros1bridge.dir/build.make
tests/CMakeFiles/test_mrpt_ros1bridge.dir/build
Dependencies file
"tests/CMakeFiles/test_mrpt_slam.dir/__/libs/slam/src/slam/CICP_unittest.cpp.o.d"
is newer than depends file
"/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/tests/CMakeFiles/test_mrpt_slam.dir/compiler_depend.internal".
[ 90%] Built target test_mrpt_maps
unknown file: Failure
C++ exception with description "==== MRPT exception ====
Message:  Assert condition failed: m_eglContext != EGL_NO_CONTEXT
Location: ./libs/opengl/src/CFBORender.cpp:177:
[mrpt::opengl::CFBORender::CFBORender(const Parameters&)
Call stack backtrace:
[0 ] (unknown file)
mrpt::opengl::CFBORender::CFBORender(mrpt::opengl::CFBORender::Parameters
const&)
[1 ]       0x2ab26bf540 
[2 ] (unknown file) void
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
[3 ]       0x2ab26e24de 
[4 ]       0x2ab26e2608 
[5 ]       0x2ab26e2812 
[6 ] (unknown file) testing::internal::UnitTestImpl::RunAllTests()
[7 ] (unknown file) bool
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
[8 ]       0x2ab26e28cc 
[9 ] (unknown file) main
[10]       0x3fbcc731d4 
[11] (unknown file) __libc_start_main
[12]       0x2ab26bdd00 
" thrown in the test body.

[  FAILED  ] OpenGL.CFBORender_camera_intrinsics (1242 ms)
[ RUN      ] OpenGL.CFBORender_camera_fov
make  -f tests/CMakeFiles/run_tests_mrpt_topography.dir/build.make
tests/CMakeFiles/run_tests_mrpt_topography.dir/depend
Dependencies file
"tests/CMakeFiles/test_mrpt_slam.dir/__/libs/slam/src/slam/CIncrementalMapPartitioner_unittest.cpp.o.d"
is newer than depends file
"/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/tests/CMakeFiles/test_mrpt_slam.dir/compiler_depend.internal".
Dependencies file
"tests/CMakeFiles/test_mrpt_slam.dir/__/libs/slam/src/slam/CMonteCarloLocalization2D_unittest.cpp.o.d"
is newer than depends file
"/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/tests/CMakeFiles/test_mrpt_slam.dir/compiler_depend.internal".
unknown file: Failure
C++ exception with description "==== MRPT exception ====
Message:  Assert condition failed: m_eglContext != EGL_NO_CONTEXT
Location: ./libs/opengl/src/CFBORender.cpp:177:
[mrpt::opengl::CFBORender::CFBORender(const Parameters&)
Call stack backtrace:
[0 ] (unknown file)
mrpt::opengl::CFBORender::CFBORender(mrpt::opengl::CFBORender::Parameters
const&)
[1 ]       0x2ab26bf540 
[2 ] (unknown file) void
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
void>(testing::Test*, void (testing::Test::*)(), char const*)
[3 ]       0x2ab26e24de 
[4 ]       0x2ab26e2608 
[5 ]       0x2ab26e2812 
[6 ] (unknown file) testing::internal::UnitTestImpl::RunAllTests()
[7 ] (unknown file) bool
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(testing::internal::UnitTestImpl*, bool
(testing::internal::UnitTestImpl::*)(), char const*)
[8 ]       0x2ab26e28cc 
[9 ] (unknown file) main
[10]       0x3fbcc731d4 
[11] (unknown file) __libc_start_main
[12]       0x2ab26bdd00 
" thrown in the test body.

[  FAILED  ] OpenGL.CFBORender_camera_fov (12 ms)
...
```

I reproduce the opengl instance on my local Unmatched and it got 

```
Failed to create EGL context. Error code: 12291
```

It seems the opengl has issue to be supported on riscv64. I have
reported the issue to mrpt upstream:
https://github.com/MRPT/mrpt/issues/1287

The patch is simple to skip these test on riscv given hat there is not a
good solution.

Could you apply it on next upload?




-- 
Regards,
--
  Bo YU

diff -Nru mrpt-2.10.0+ds/debian/changelog mrpt-2.10.0+ds/debian/changelog
--- mrpt-2.10.0+ds/debian/changelog	2023-07-18 17:49:00.000000000 +0000
+++ mrpt-2.10.0+ds/debian/changelog	2023-09-13 04:25:30.000000000 +0000
@@ -1,3 +1,10 @@
+mrpt (1:2.10.0+ds-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Skip CFBORender tests on riscv. (Closes: #-1) 
+
+ -- Bo YU <tsu.yubo@gmail.com>  Wed, 13 Sep 2023 04:25:30 +0000
+
 mrpt (1:2.10.0+ds-3) unstable; urgency=medium
 
   * Add a patch to fix FTBFS if bfd is present but iberty-dev is not 
diff -Nru mrpt-2.10.0+ds/debian/patches/disable-CFBORender-on-riscv.patch mrpt-2.10.0+ds/debian/patches/disable-CFBORender-on-riscv.patch
--- mrpt-2.10.0+ds/debian/patches/disable-CFBORender-on-riscv.patch	1970-01-01 00:00:00.000000000 +0000
+++ mrpt-2.10.0+ds/debian/patches/disable-CFBORender-on-riscv.patch	2023-09-13 04:25:18.000000000 +0000
@@ -0,0 +1,21 @@
+Description: skip CFBORender test on riscv
+Author: Bo YU <tsu.yubo@gmail.com>
+Bug: https://github.com/MRPT/mrpt/issues/1287
+Bug-<Vendor>: <URL to the vendor bug report if any, optional>
+Last-Update: 2023-09-13
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/libs/opengl/src/CFBORender_unittest.cpp
++++ b/libs/opengl/src/CFBORender_unittest.cpp
+@@ -42,6 +42,11 @@
+ #if defined(__arm__) && MRPT_WORD_SIZE == 32
+ #undef RUN_OFFSCREEN_RENDER_TESTS
+ #endif
++// In RISCV, these tests crash in autobuilders, skip them:
++// see: https://github.com/MRPT/mrpt/issues/1287
++#if defined(__riscv)
++#undef RUN_OFFSCREEN_RENDER_TESTS
++#endif
+ 
+ static float imageDiff(
+ 	const mrpt::img::CImage& im1, const mrpt::img::CImage& im2)
diff -Nru mrpt-2.10.0+ds/debian/patches/series mrpt-2.10.0+ds/debian/patches/series
--- mrpt-2.10.0+ds/debian/patches/series	2023-07-18 17:49:00.000000000 +0000
+++ mrpt-2.10.0+ds/debian/patches/series	2023-09-13 04:20:15.000000000 +0000
@@ -1,2 +1,3 @@
 fix-no-iberty-dev.diff
 no-lto-option.diff
+disable-CFBORender-on-riscv.patch

Attachment: signature.asc
Description: PGP signature


Reply to: