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

Attachment: OpenPGP_0x44173FA13D058888.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to