#1012083 quickfix FTBFS on riscv64

Package:
src:quickfix
Source:
quickfix
Submitter:
Alan Beadle
Date:
2024-10-18 18:42:04 UTC
Severity:
important
Tags:
#1012083#5
Date:
2022-05-29 22:54:24 UTC
From:
To:
Dear Maintainer,

Currently, quickfix fails to build on riscv64. The problem occues due to the
inclusion of an old version of the double-conversion utility in the following
subdirectory: src/C++/double-conversion/

You can view the (trivial) upstream commit to add riscv64 support here:
https://github.com/google/double-conversion/commit/8316ed5bf405835558a476e528d8e1d0adf69dd9

You can review the failed build log here:
https://buildd.debian.org/status/fetch.php?pkg=quickfix&arch=riscv64&ver=1.15.1%2Bdfsg-4&stamp=1652988337&raw=0

The least intrusive solution is to patch the included utility in the same way
that the upstream source for this utility already has. I am including a patch
which does this. I have confirmed that this patch allows building quickfix on
actual riscv64 hardware (StatFive VisionFive V1).

Please consider applying the included patch (or similar) for the next upload.
Thank you,
-Alan Beadle

#1012083#14
Date:
2022-06-05 15:19:51 UTC
From:
To:
I've learned that embedded copies of libraries are against Debian
packaging policy. See here: https://wiki.debian.org/EmbeddedCopies

Therefore the best solution is to remove the embedded copy of the
double-conversion library and add a dependency on
libdouble-conversion-dev package. This should solve the FTBFS problem.

I have asked quickfix upstream to remove the embedded copy.
https://github.com/quickfix/quickfix/issues/393

If they prefer not to, then the Debian package maintainer can remove
it to make this package comply with the policy above.

#1012083#21
Date:
2024-10-14 06:10:49 UTC
From:
To:
Dear maintainer,

I've prepared an NMU for quickfix (versioned as 1.15.1+dfsg-4.3) and
uploaded it to DELAYED/5. Please feel free to tell me if I
should delay it longer.


diff -Nru quickfix-1.15.1+dfsg/debian/changelog quickfix-1.15.1+dfsg/debian/changelog
--- quickfix-1.15.1+dfsg/debian/changelog       2024-09-27 15:45:21.000000000 +0200
+++ quickfix-1.15.1+dfsg/debian/changelog       2024-10-14 08:04:44.000000000 +0200
@@ -1,3 +1,14 @@
+quickfix (1.15.1+dfsg-4.3) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Also add support for riscv64 (Closes: #1012083)
+    note: this riscv64+ loongarch64 patch should disappear on next release,
+    because the stdc++ atomic will build just fine without embedded code
+    copies patches
+  * Update homepage field, the old website disappeared
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org>  Mon, 14 Oct 2024 08:04:44 +0200
+
  quickfix (1.15.1+dfsg-4.2) unstable; urgency=medium

    * Non-maintainer upload.
diff -Nru quickfix-1.15.1+dfsg/debian/control quickfix-1.15.1+dfsg/debian/control
--- quickfix-1.15.1+dfsg/debian/control 2024-09-27 15:45:21.000000000 +0200
+++ quickfix-1.15.1+dfsg/debian/control 2024-10-14 08:04:44.000000000 +0200
@@ -17,7 +17,7 @@
   ruby
  Standards-Version: 4.5.0
  Section: libs
-Homepage: http://www.quickfixengine.org/index.html
+Homepage: https://github.com/quickfix/quickfix

  Package: libquickfix-dev
  Section: libdevel
diff -Nru quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-riscv64-support.patch quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-riscv64-support.patch
--- quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-riscv64-support.patch       1970-01-01 01:00:00.000000000 +0100
+++ quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-riscv64-support.patch       2024-10-14 08:04:06.000000000 +0200
@@ -0,0 +1,14 @@
+Description: Add support for loongarch64 and riscv64
+Last-Update: 2024-10-14
+
+--- quickfix-1.15.1+dfsg.orig/src/C++/double-conversion/utils.h
++++ quickfix-1.15.1+dfsg/src/C++/double-conversion/utils.h
+@@ -69,7 +69,7 @@
+     defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
+     defined(__SH4__) || defined(__alpha__) || \
+     defined(_MIPS_ARCH_MIPS32R2) || \
+-    defined(__AARCH64EL__) || defined(__aarch64__)
++    defined(__AARCH64EL__) || defined(__aarch64__) || defined(__loongarch64) || defined(__riscv)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(__mc68000__)
+ #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
diff -Nru quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-support.patch quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-support.patch
--- quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-support.patch       2024-09-27 15:44:52.000000000 +0200
+++ quickfix-1.15.1+dfsg/debian/patches/10_quickfix-add-loongarch64-support.patch       1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-Description: Add support for loongarch64
-Last-Update: 2024-04-26
-
---- quickfix-1.15.1+dfsg.orig/src/C++/double-conversion/utils.h
-+++ quickfix-1.15.1+dfsg/src/C++/double-conversion/utils.h
-@@ -69,7 +69,7 @@
-     defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
-     defined(__SH4__) || defined(__alpha__) || \
-     defined(_MIPS_ARCH_MIPS32R2) || \
--    defined(__AARCH64EL__) || defined(__aarch64__)
-+    defined(__AARCH64EL__) || defined(__aarch64__) || defined(__loongarch64)
- #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
- #elif defined(__mc68000__)
- #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
diff -Nru quickfix-1.15.1+dfsg/debian/patches/series quickfix-1.15.1+dfsg/debian/patches/series
--- quickfix-1.15.1+dfsg/debian/patches/series  2024-09-27 15:45:17.000000000 +0200
+++ quickfix-1.15.1+dfsg/debian/patches/series  2024-10-14 08:04:30.000000000 +0200
@@ -4,4 +4,4 @@
  04_fix_automake_variable_names.patch
  08_test_runner_bad_virtual_method_arg.patch
  09_fix_atomic_count_header_namespace.patch
-10_quickfix-add-loongarch64-support.patch
+10_quickfix-add-loongarch64-riscv64-support.patch

#1012083#28
Date:
2024-10-18 18:40:06 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
quickfix, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1012083@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Gianfranco Costamagna <locutusofborg@debian.org> (supplier of updated quickfix package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 14 Oct 2024 08:04:44 +0200
Source: quickfix
Built-For-Profiles: noudeb
Architecture: source
Version: 1.15.1+dfsg-4.3
Distribution: unstable
Urgency: medium
Maintainer: Athena Capital Research <acr-debian@athenacr.com>
Changed-By: Gianfranco Costamagna <locutusofborg@debian.org>
Closes: 1012083
Changes:
 quickfix (1.15.1+dfsg-4.3) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Also add support for riscv64 (Closes: #1012083)
     note: this riscv64+ loongarch64 patch should disappear on next release,
     because the stdc++ atomic will build just fine without embedded code
     copies patches
   * Update homepage field, the old website disappeared
Checksums-Sha1:
 9534f8a37f4a6701d673f0adcca7a47733993acb 2137 quickfix_1.15.1+dfsg-4.3.dsc
 565b264679414b716e66160fd85a91618b27e8cc 9192 quickfix_1.15.1+dfsg-4.3.debian.tar.xz
 160a7b4d843b9024161db2e93958e01adb9cb9d8 7901 quickfix_1.15.1+dfsg-4.3_source.buildinfo
Checksums-Sha256:
 89ccaf142a19841c54295cc92648b8d4119c0aaf7445e10bb22159ead477b98a 2137 quickfix_1.15.1+dfsg-4.3.dsc
 61ab6f238d815e0926c7e237b6753479abe35225a63b0f98b800dd91340a035e 9192 quickfix_1.15.1+dfsg-4.3.debian.tar.xz
 52f446d6bbaa53ef7d238dbbf852dea61e678e42b2115341edf414d8ddfd5e86 7901 quickfix_1.15.1+dfsg-4.3_source.buildinfo
Files:
 c88d81e472d876c6c8e7a725534f431c 2137 libs optional quickfix_1.15.1+dfsg-4.3.dsc
 104c34c6fa4ec9b02c4f5ba61065b95a 9192 libs optional quickfix_1.15.1+dfsg-4.3.debian.tar.xz
 d33fd08e801a58d18e9cc6eaaf53b027 7901 libs optional quickfix_1.15.1+dfsg-4.3_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkpeKbhleSSGCX3/w808JdE6fXdkFAmcMtbkACgkQ808JdE6f
XdmicA//ZZ64yt7G0pDY7qfRsdFjOo90QlxLNiKcN3Ij3tJo6rgyZUUHpO1NBLyX
IeP5F6MrtD7C9E6+id4OinHXk/WY8HSbP+L+eeDnmnSMJDFB0zIJpWyP1Qpglz9J
Meb+MzBIaRYmZSNa/2GhCQ21CQJwJy5uvkpHnSM0mo1Ir7UYnsJZD4yoBEA60Qo9
xMMO11YSPvzaE6sXXQblJOuFctj6XpjgqPnucUycFoCkbfwzWXLpONIYVulI8aPc
byJWS3w2u/9TK7tc3IEdDsrXpeMWQVlowqU6yEZgI1ML7LbCdIJEmheJCTFGZrrx
UHGp7iUzcM93SDTWRd+infqAn3uC7FF1H6cCqfZlvLWDSnh3RBg/2l+iNiI1DLeb
jGoHxHSwo9WNsXI5PwFj8nXZAxCyGlb0T0seSqxabtS2PMwsqZZQg4oyAcYaNKtp
ZtX42yGF4H7w92uzMoBZDqY8hTKjgU8qEofS/2Gh2l1g/67ka985LHoo+yoenZ6l
OAYNR9mIcR+oX42bMzjIcx1lGr0vOi6m/UuOUZ5g88286zKGTJgsUm+Pl1yoG+h/
OuGRWQbd8ssGSWLtvf1ELVyhUkLFSldn5hB6eoIy/mn5+M2A2Swpx3VPohVKBUfa
Ayobnfnc631BFzOl3Q0pNmYO2fdefSZ26/L2AkTSKG+1H6NBXGU=
=fb5q
-----END PGP SIGNATURE-----