On Sat, Jan 28, 2023 at 01:55:00PM -0300, Lisandro Damian Nicanor Perez Meyer wrote: > On viernes, 9 de diciembre de 2022 22:19:16 -03 Michael Cree wrote: > > Source: qt6-base > > Version: 6.3.1+dfsg-10 > > Severity: important > > Tags: patch ftbfs > > Justification: fails to build from source (but built successfully in the > > past) > > > > The build fails with: > > /<<PKGBUILDDIR>>/src/corelib/plugin/qelfparser_p.cpp:178:4: error: #error > > "Unknown Q_PROCESSOR_xxx macro, please update." > > > > Full log at: > > https://buildd.debian.org/status/fetch.php?pkg=qt6-base&arch=alpha&ver=6.3.1 > > %2Bdfsg-10&stamp=1664652510&raw=0 > > > > Attached is patch to provide the Q_PROCESSOR defines for Alpha. With > > that qt6-base builds successfully. > > This really sounds like a patch that should go upstream. Normally such patchs > would need to be sent by the creator. Would you mind doing that? Please ping > me if you need help here.
There is already a patch upstream at: https://codereview.qt-project.org/c/qt/qtbase/+/437349 I have taken that and refreshed against Debian 6.4.2+dfsg-1 and attach here. With that qt6-base 6.4.2+dfsg-1 builds to completion on Alpha. Regards, Michael.
Index: qt6-base-6.4.2+dfsg~rc1/src/corelib/global/qprocessordetection.h =================================================================== --- qt6-base-6.4.2+dfsg~rc1.orig/src/corelib/global/qprocessordetection.h 2023-01-31 21:33:53.000000000 +1300 +++ qt6-base-6.4.2+dfsg~rc1/src/corelib/global/qprocessordetection.h 2023-01-31 21:34:47.220042095 +1300 @@ -48,8 +48,8 @@ Alpha is bi-endian, use endianness auto-detection implemented below. */ -// #elif defined(__alpha__) || defined(_M_ALPHA) -// # define Q_PROCESSOR_ALPHA +#if defined(__alpha__) || defined(_M_ALPHA) +# define Q_PROCESSOR_ALPHA // Q_BYTE_ORDER not defined, use endianness auto-detection /* @@ -58,7 +58,7 @@ ARM is bi-endian, detect using __ARMEL__ or __ARMEB__, falling back to auto-detection implemented below. */ -#if defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_M_ARM) || defined(_M_ARM64) || defined(__aarch64__) || defined(__ARM64__) +#elif defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_M_ARM) || defined(_M_ARM64) || defined(__aarch64__) || defined(__ARM64__) # if defined(__aarch64__) || defined(__ARM64__) || defined(_M_ARM64) # define Q_PROCESSOR_ARM_64 # define Q_PROCESSOR_WORDSIZE 8 Index: qt6-base-6.4.2+dfsg~rc1/src/corelib/plugin/qelfparser_p.cpp =================================================================== --- qt6-base-6.4.2+dfsg~rc1.orig/src/corelib/plugin/qelfparser_p.cpp 2023-01-31 21:33:53.000000000 +1300 +++ qt6-base-6.4.2+dfsg~rc1/src/corelib/plugin/qelfparser_p.cpp 2023-01-31 21:34:47.221018875 +1300 @@ -112,6 +112,8 @@ static const Elf32_Half ExpectedMachine = #if 0 // nothing +#elif defined(Q_PROCESSOR_ALPHA) + EM_ALPHA #elif defined(Q_PROCESSOR_ARM_32) EM_ARM #elif defined(Q_PROCESSOR_ARM_64) @@ -380,6 +382,7 @@ switch (r.machine) { // list definitely not exhaustive! case EM_NONE: d << ", no machine"; break; + case EM_ALPHA: d << ", Alpha"; break; case EM_68K: d << ", MC68000"; break; case EM_ARM: d << ", ARM"; break; case EM_AARCH64: d << ", AArch64"; break;