Bug#1034521: clasp: FTBFS with LTO enabled

Lukas Märdian slyon at ubuntu.com
Mon Apr 17 16:30:39 BST 2023


Package: clasp
Version: 3.3.5-4.2
Severity: minor
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu lunar ubuntu-patch
X-Debbugs-Cc: slyon at ubuntu.com

Dear Maintainer,

this package fails to execute its buildtime tests (dh_auto_test) on the s390x
architecture when compiled with an LTO enabled toolchain. On Ubuntu
(GCC-12 + LTO) we saw the following failure.

This does not directly affect Debian, but might, should Debian enable LTO by
default in the future. Please consider disabling LTO explicitly to avoid such
(future) failure, or feel free to reject this patch if you feel like it doesn't
apply.

In Ubuntu, the attached patch was applied to achieve the following:

  * d/rules: Disable LTO, to avoid FTBFS (test failure) on s390x


Thanks for considering the patch.

-- Lukas


2/3 Testing: test_opts
2/3 Test: test_opts
Command: "/<<PKGBUILDDIR>>/build.dir/hardening_mt/bin/test_potassco_opts"
Directory: /<<PKGBUILDDIR>>/build.dir/hardening_mt/libpotassco/tests
"test_opts" start time: Apr 12 14:19 UTC
Output:
----------------------------------------------------------

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test_potassco_opts is a Catch v1.12.2 host application.
Run with -? for options

-------------------------------------------------------------------------------
Test value store
  store supports swap
-------------------------------------------------------------------------------
./libpotassco/tests/test_value.cpp:95
...............................................................................

./libpotassco/tests/test_value.cpp:100: FAILED:
  REQUIRE( Po::value_cast<Counted>(x).parsed == 10 )
with expansion:
  0 == 10

===============================================================================
test cases:  16 |  15 passed | 1 failed
assertions: 127 | 126 passed | 1 failed

<end of output>
Test time =   1.00 sec
----------------------------------------------------------
Test Failed.
"test_opts" end time: Apr 12 14:19 UTC
"test_opts" time elapsed: 00:00:01
----------------------------------------------------------

End testing: Apr 12 14:19 UTC

==> build.dir/hardening_mt/Testing/Temporary/LastTestsFailed.log <==
2:test_opts
make[1]: *** [debian/rules:49: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:29: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2023-04-12T14:19:21Z


-- System Information:
Debian Release: bookworm/sid
  APT prefers jammy-updates
  APT policy: (500, 'jammy-updates'), (500, 'jammy-security'), (500, 'jammy'), (100, 'jammy-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.19.0-38-generic (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
diff -Nru clasp-3.3.5/debian/rules clasp-3.3.5/debian/rules
--- clasp-3.3.5/debian/rules	2022-11-19 11:10:37.000000000 +0100
+++ clasp-3.3.5/debian/rules	2023-04-17 17:18:03.000000000 +0200
@@ -17,7 +17,7 @@
 DEB_CXXFLAGS_MAINT_APPEND = -O3 -Wall
 DEB_CPPFLAGS_MAINT_APPEND = -DNDEBUG
 
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=-lto
 
 DPKG_EXPORT_BUILDFLAGS = 1
 include /usr/share/dpkg/buildflags.mk


More information about the debian-science-maintainers mailing list