#1152734 furnace FTBFS on 32bit time64 architectures

Package:
src:furnace
Source:
src:furnace
Submitter:
Helmut Grohne
Date:
2026-10-31 20:41:02 UTC
Severity:
normal
Tags:
#1152734#5
Date:
2026-10-30 06:16:01 UTC
From:
To:
furnace fails to build from source on all 32bit architectures that
enbale time64. This happens to include armhf but also a pile of ports
architectures. The problem is:

| /build/reproducible-path/furnace-0.6.8.3+git20250912+ds/src/engine/platform/pcspkr.cpp: In member function ‘void DivPlatformPCSpeaker::pcSpeakerThread()’:
| /build/reproducible-path/furnace-0.6.8.3+git20250912+ds/src/engine/platform/pcspkr.cpp:94:14: error: ‘struct input_event’ has no member named ‘time’
|    94 |           ie.time.tv_sec=r.tv_sec;
|       |              ^~~~
| /build/reproducible-path/furnace-0.6.8.3+git20250912+ds/src/engine/platform/pcspkr.cpp:95:14: error: ‘struct input_event’ has no member named ‘time’
|    95 |           ie.time.tv_usec=r.tv_nsec/1000;
|       |              ^~~~

Looking into the kernel uapi, Linux changed struct input_event via
commit 152194fe9c3f03232b9c0d0264793a7fa4af82f8. When enabling time64 on
32bit architectures, it no longer includes the time field. Instead one
is now supposed to use input_event_sec and input_event_usec virtual
fields that work in all situations.

I'm attaching a patch for your convenience.

Helmut