Bug#1037707: keyman: ftbfs with GCC-13
Package: src:keyman
Version: 16.0.139-4
Severity: normal
Tags: sid trixie
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-13
[This bug is targeted to the upcoming trixie release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-13/g++-13, but succeeds to build with gcc-12/g++-12. The
severity of this report will be raised before the trixie release.
The full build log can be found at:
http://qa-logs.debian.net/2023/05/22/logs/keyman_16.0.139-4_unstable_gccexp.log
The last lines of the build log are at the end of this report.
To build with GCC 13, either set CC=gcc-13 CXX=g++-13 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-13/porting_to.html
[...]
../../../src/kmx/kmx_processevent.h:58:27: error: ‘PKMX_BYTE’ has not been declared
58 | KMX_BOOL VerifyKeyboard(PKMX_BYTE filebase, size_t sz);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:59:27: error: ‘PKMX_BYTE’ has not been declared
59 | KMX_BOOL VerifyChecksum(PKMX_BYTE buf, size_t sz);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:60:27: error: ‘PKMX_BYTE’ has not been declared
60 | PKMX_WCHAR StringOffset(PKMX_BYTE base, KMX_DWORD offset);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:60:43: error: ‘KMX_DWORD’ has not been declared
60 | PKMX_WCHAR StringOffset(PKMX_BYTE base, KMX_DWORD offset);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:62:27: error: ‘PKMX_BYTE’ has not been declared
62 | LPKEYBOARD CopyKeyboard(PKMX_BYTE bufp, PKMX_BYTE base);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:62:43: error: ‘PKMX_BYTE’ has not been declared
62 | LPKEYBOARD CopyKeyboard(PKMX_BYTE bufp, PKMX_BYTE base);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:85:45: error: ‘KMX_DWORD’ has not been declared
85 | PKMX_WCHAR GetSystemStore(LPKEYBOARD kb, KMX_DWORD SystemID);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:89:25: error: ‘KMX_DWORD’ has not been declared
89 | KMX_BOOL IsCapsLockOn(KMX_DWORD modifiers);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:90:20: error: ‘KMX_DWORD’ has not been declared
90 | void SetCapsLock(KMX_DWORD &modifiers, KMX_BOOL capsLockOn, KMX_BOOL force = FALSE);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:91:22: error: ‘KMX_DWORD’ has not been declared
91 | void ResetCapsLock(KMX_DWORD &modifiers, KMX_BOOL isKeyDown);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:92:29: error: ‘KMX_DWORD’ has not been declared
92 | KMX_BOOL KeyCapsLockPress(KMX_DWORD &modifiers, KMX_BOOL isKeyDown);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:93:22: error: ‘KMX_DWORD’ has not been declared
93 | void KeyShiftPress(KMX_DWORD &modifiers, KMX_BOOL isKeyDown);
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:95:30: error: ‘KMX_UINT’ has not been declared
95 | KMX_BOOL IsEquivalentShift(KMX_UINT rshift, KMX_UINT kshift);
| ^~~~~~~~
../../../src/kmx/kmx_processevent.h:95:47: error: ‘KMX_UINT’ has not been declared
95 | KMX_BOOL IsEquivalentShift(KMX_UINT rshift, KMX_UINT kshift);
| ^~~~~~~~
../../../src/kmx/kmx_processevent.h:102:46: error: ‘KMX_UINT’ has not been declared
102 | KMX_BOOL ProcessEvent(km_kbp_state *state, KMX_UINT vkey, KMX_DWORD modifiers, KMX_BOOL isKeyDown); // returns FALSE on error or key not matched
| ^~~~~~~~
../../../src/kmx/kmx_processevent.h:102:61: error: ‘KMX_DWORD’ has not been declared
102 | KMX_BOOL ProcessEvent(km_kbp_state *state, KMX_UINT vkey, KMX_DWORD modifiers, KMX_BOOL isKeyDown); // returns FALSE on error or key not matched
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:113:1: error: inline variables are only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Werror=c++17-extensions]
113 | inline KMX_BOOL KMX_ProcessEvent::IsCapsLockOn(KMX_DWORD modifiers) {
| ^~~~~~
../../../src/kmx/kmx_processevent.h:113:17: error: ‘KMX_BOOL km::kbp::kmx::KMX_ProcessEvent::IsCapsLockOn’ is not a static data member of ‘class km::kbp::kmx::KMX_ProcessEvent’
113 | inline KMX_BOOL KMX_ProcessEvent::IsCapsLockOn(KMX_DWORD modifiers) {
| ^~~~~~~~~~~~~~~~
../../../src/kmx/kmx_processevent.h:113:48: error: ‘KMX_DWORD’ was not declared in this scope
113 | inline KMX_BOOL KMX_ProcessEvent::IsCapsLockOn(KMX_DWORD modifiers) {
| ^~~~~~~~~
../../../src/kmx/kmx_processevent.h:148:30: error: ‘KMX_WORD’ was not declared in this scope
148 | const char *Debug_VirtualKey(KMX_WORD vk);
| ^~~~~~~~
../../../src/kmx/kmx_processevent.h:151:32: error: ‘KMX_UINT’ was not declared in this scope
151 | const char *Debug_ModifierName(KMX_UINT modifiers);
| ^~~~~~~~
cc1plus: all warnings being treated as errors
[20/52] Compiling C++ object src/libkmnkbp0.so.0.0.0.p/mock_mock_processor.cpp.o
ninja: build stopped: subcommand failed.
make[1]: *** [debian/rules:40: override_dh_auto_build] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:20: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
Reply to: