mbox series

[bug#61119,core-updates,0/1] gnu: p7zip: Fix build with GCC 11.

Message ID cover.1674909616.git.simon@simonsouth.net
Headers show
Series gnu: p7zip: Fix build with GCC 11. | expand

Message

Simon South Jan. 28, 2023, 12:57 p.m. UTC
On core-updates, p7zip is failing to build with error messages like

  ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an
  operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
    308 |           numMethods++;
        |           ^~~~~~~~~~

This follows from the move to GCC 11 and its use by default of the GNU dialect
of the C++17 standard for interpreting C++ code.  (Note p7zip is essentially
abandoned and its code is aging.)

The patch to follow causes GCC to use the GNU dialect of the C++14 standard
instead, as GCC 10 did by default, reducing the error messages to warnings and
allowing the build to complete.

I've tested this on x86-64 and AArch64 and everything seems fine.

--
Simon South
simon@simonsouth.net


Simon South (1):
  gnu: p7zip: Fix build with GCC 11.

 gnu/local.mk                                  |  1 +
 gnu/packages/compression.scm                  |  1 +
 .../patches/p7zip-fix-build-with-gcc-11.patch | 49 +++++++++++++++++++
 3 files changed, 51 insertions(+)
 create mode 100644 gnu/packages/patches/p7zip-fix-build-with-gcc-11.patch


base-commit: 770d379d7b60590bfdcb749287cb6713dee093ce
prerequisite-patch-id: 418e6f2f834e0f77d4da64e48bf654d610fbfe80