Hi all.I'm about to fix this bug. And I'll do NMU of this package. The attached file is the debdiff of the NMU. I'll wait for 10 days if no other complains about the fix. And I'll upload to delay/10 queue.
So this bug is basically because #897845 and #834472 is not fixed properly by me previously.
I was using a workaround to fix the above bugs.After deeply tracing, I found the root cause is we shouldn't use f2c headers in this package. f2c is not using in this package at all. And thus this bug will be fixed with removing include those headers which cause max/min/abs functions conflict with STL and standard C library. And also I removed the previously workaround.
But the build still fails because one of the operator -= function returns a value while it is set to void. So I made another patch to fix this.
Please review the debdiff, and I'll upload it with NMU after 10 days. To the delay/10 queue and with priority=low. Thanks, Paul
diff -Nru vmmlib-1.0/debian/changelog vmmlib-1.0/debian/changelog --- vmmlib-1.0/debian/changelog 2021-01-02 09:15:59.000000000 +0800 +++ vmmlib-1.0/debian/changelog 2022-09-18 16:28:02.000000000 +0800 @@ -1,3 +1,14 @@ +vmmlib (1.0-2.3) unstable; urgency=low + + * Non-maintainer upload. + * Fix FTBFS (Closes: #1016262) + - Remove debian/patches/fix_ftbfs_gcc8.patch + - Update debian/patches/fix-makefile to not use f2c related headers. + - Add debian/patches/fix-quaternion.patch for not returning value in + void function. + + -- Ying-Chun Liu (PaulLiu) <paul...@debian.org> Sun, 18 Sep 2022 16:28:02 +0800 + vmmlib (1.0-2.2) unstable; urgency=medium * Non maintainer upload by the Reproducible Builds team. diff -Nru vmmlib-1.0/debian/patches/fix_ftbfs_gcc8.patch vmmlib-1.0/debian/patches/fix_ftbfs_gcc8.patch --- vmmlib-1.0/debian/patches/fix_ftbfs_gcc8.patch 2018-10-29 19:46:59.000000000 +0800 +++ vmmlib-1.0/debian/patches/fix_ftbfs_gcc8.patch 1970-01-01 08:00:00.000000000 +0800 @@ -1,142 +0,0 @@ -Description: Fix FTBFS on gcc-8 - There are several build failed due to min/max/abs defined somewhere. - We have to undef it to let it uses those from <algorithm> -Author: Ying-Chun Liu (PaulLiu) <paul...@debian.org> -Bug-Debian: https://bugs.debian.org/834472 -Last-Update: 2018-10-25 -Index: vmmlib-1.0/include/vmmlib/vector.hpp -=================================================================== ---- vmmlib-1.0.orig/include/vmmlib/vector.hpp -+++ vmmlib-1.0/include/vmmlib/vector.hpp -@@ -1,6 +1,10 @@ - #ifndef __VMML__VECTOR__HPP__ - #define __VMML__VECTOR__HPP__ - -+#undef min -+#undef max -+#undef abs -+ - #include <vmmlib/vmmlib_config.hpp> - #include <vmmlib/math.hpp> - #include <vmmlib/enable_if.hpp> -Index: vmmlib-1.0/include/vmmlib/quaternion.hpp -=================================================================== ---- vmmlib-1.0.orig/include/vmmlib/quaternion.hpp -+++ vmmlib-1.0/include/vmmlib/quaternion.hpp -@@ -757,7 +757,7 @@ quaternion< T >::operator-=( const vecto - x() -= xyz.x(); - y() -= xyz.y(); - z() -= xyz.z(); -- return *this; -+ //return *this; - } - - -Index: vmmlib-1.0/tests/tensor3_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/tensor3_test.cpp -+++ vmmlib-1.0/tests/tensor3_test.cpp -@@ -1,5 +1,9 @@ - #include "tensor3_test.hpp" - -+#undef max -+#undef min -+#undef abs -+ - #include <vmmlib/tensor3.hpp> - #include <sstream> - -Index: vmmlib-1.0/tests/tucker3_tensor_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/tucker3_tensor_test.cpp -+++ vmmlib-1.0/tests/tucker3_tensor_test.cpp -@@ -1,5 +1,9 @@ - #include "tucker3_tensor_test.hpp" - -+#undef min -+#undef max -+#undef abs -+ - #include <vmmlib/tucker3_tensor.hpp> - #include <sstream> - -Index: vmmlib-1.0/tests/qtucker3_tensor_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/qtucker3_tensor_test.cpp -+++ vmmlib-1.0/tests/qtucker3_tensor_test.cpp -@@ -1,4 +1,6 @@ - #include "qtucker3_tensor_test.hpp" -+#undef min -+ - #include <vmmlib/qtucker3_tensor.hpp> - #include <sstream> - -Index: vmmlib-1.0/tests/tucker3_exporter_importer_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/tucker3_exporter_importer_test.cpp -+++ vmmlib-1.0/tests/tucker3_exporter_importer_test.cpp -@@ -1,4 +1,5 @@ - #include "tucker3_exporter_importer_test.hpp" -+#undef min - #include <vmmlib/tucker3_exporter.hpp> - #include <vmmlib/tucker3_importer.hpp> - #include <sstream> -Index: vmmlib-1.0/tests/cp3_tensor_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/cp3_tensor_test.cpp -+++ vmmlib-1.0/tests/cp3_tensor_test.cpp -@@ -1,4 +1,5 @@ - #include "cp3_tensor_test.hpp" -+#undef min - #include <vmmlib/cp3_tensor.hpp> - #include <vmmlib/t3_hopm.hpp> - #include <sstream> -Index: vmmlib-1.0/tests/t3_hosvd_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/t3_hosvd_test.cpp -+++ vmmlib-1.0/tests/t3_hosvd_test.cpp -@@ -1,3 +1,4 @@ -+#undef min - #include "t3_hosvd_test.hpp" - #include "vmmlib/t3_hosvd.hpp" - -Index: vmmlib-1.0/tests/t3_hooi_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/t3_hooi_test.cpp -+++ vmmlib-1.0/tests/t3_hooi_test.cpp -@@ -1,3 +1,4 @@ -+#undef min - #include "t3_hooi_test.hpp" - #include "vmmlib/t3_hooi.hpp" - -Index: vmmlib-1.0/tests/t3_hopm_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/t3_hopm_test.cpp -+++ vmmlib-1.0/tests/t3_hopm_test.cpp -@@ -1,3 +1,4 @@ -+#undef min - #include "t3_hopm_test.hpp" - #include "vmmlib/t3_hopm.hpp" - #include <sstream> -Index: vmmlib-1.0/tests/t3_ihopm_test.cpp -=================================================================== ---- vmmlib-1.0.orig/tests/t3_ihopm_test.cpp -+++ vmmlib-1.0/tests/t3_ihopm_test.cpp -@@ -1,3 +1,4 @@ -+#undef min - #include "t3_ihopm_test.hpp" - #include "vmmlib/t3_ihopm.hpp" - #include <sstream> -Index: vmmlib-1.0/Makefile -=================================================================== ---- vmmlib-1.0.orig/Makefile -+++ vmmlib-1.0/Makefile -@@ -27,7 +27,7 @@ VMMLIB_UNIT_TESTS =\ - - VMMLIB_UNIT_TESTS_OBJECTS = ${VMMLIB_UNIT_TESTS:%.cpp=%.o} - --CXXFLAGS += -I. -Iinclude -Itests -include stdint.h -+CXXFLAGS += -I. -Iinclude -Itests -include cstdint -include algorithm -include string -include iostream - - # Mac OS X specific stuff - # on mac we want to use the frameworks, not the unix style libs diff -Nru vmmlib-1.0/debian/patches/fix-makefile vmmlib-1.0/debian/patches/fix-makefile --- vmmlib-1.0/debian/patches/fix-makefile 2012-01-28 02:55:46.000000000 +0800 +++ vmmlib-1.0/debian/patches/fix-makefile 2022-09-18 16:22:52.000000000 +0800 @@ -1,8 +1,17 @@ Index: vmmlib-1.0/Makefile =================================================================== ---- vmmlib-1.0.orig/Makefile 2011-12-20 15:32:14.000000000 +0100 -+++ vmmlib-1.0/Makefile 2012-01-27 19:55:38.996149444 +0100 -@@ -52,8 +52,8 @@ +--- vmmlib-1.0.orig/Makefile ++++ vmmlib-1.0/Makefile +@@ -39,7 +39,7 @@ LDFLAGS += -framework Accelerate + else + # Linux specific stuff + +-CXXFLAGS += -include f2c.h -include f2c_fix.h ++CXXFLAGS += + + LBITS := $(shell getconf LONG_BIT) + ifeq ($(LBITS),64) +@@ -52,8 +52,8 @@ CXXFLAGS += LDFLAGS += # adjust libs depending on your LAPACK and BLAS distribution diff -Nru vmmlib-1.0/debian/patches/fix-quaternion.patch vmmlib-1.0/debian/patches/fix-quaternion.patch --- vmmlib-1.0/debian/patches/fix-quaternion.patch 1970-01-01 08:00:00.000000000 +0800 +++ vmmlib-1.0/debian/patches/fix-quaternion.patch 2022-09-18 16:27:07.000000000 +0800 @@ -0,0 +1,18 @@ +Description: Fix FTBFS when building with gcc-12 + Avoid to return a value in void -= operator function. +Author: Ying-Chun Liu (PaulLiu) <paul...@debian.org> +Bug-Debian: https://bugs.debian.org/1016262 +Last-Update: 2022-09-17 +Index: vmmlib-1.0/include/vmmlib/quaternion.hpp +=================================================================== +--- vmmlib-1.0.orig/include/vmmlib/quaternion.hpp ++++ vmmlib-1.0/include/vmmlib/quaternion.hpp +@@ -757,7 +757,7 @@ quaternion< T >::operator-=( const vecto + x() -= xyz.x(); + y() -= xyz.y(); + z() -= xyz.z(); +- return *this; ++ return; + } + + diff -Nru vmmlib-1.0/debian/patches/series vmmlib-1.0/debian/patches/series --- vmmlib-1.0/debian/patches/series 2018-10-29 19:18:01.000000000 +0800 +++ vmmlib-1.0/debian/patches/series 2022-09-18 16:25:25.000000000 +0800 @@ -1,2 +1,2 @@ fix-makefile -fix_ftbfs_gcc8.patch +fix-quaternion.patch
OpenPGP_0x44173FA13D058888.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature