[Debian-lego-team] Bug#1129138: nxt-firmware: FTBFS: ./src/c_cmd.c:1447:36: error: initialization of 'void (*)(ULONG, ULONG)' {aka 'void (*)(long unsigned int, long unsigned int)'} from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
Santiago Vila
sanvila at debian.org
Fri Feb 27 00:55:10 GMT 2026
Package: src:nxt-firmware
Version: 1.29.7-6
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202602/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:nxt-firmware, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean
dh_auto_clean
make -j2 clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -f nxt_firmware.elf nxt_firmware.bin nxt_firmware.sym nxt_firmware.lst \
Cstartup.o c_button.o c_cmd.o c_comm.o c_display.o c_input.o c_ioctrl.o c_loader.o c_lowspeed.o c_output.o c_sound.o c_ui.o d_bt.o d_button.o d_display.o d_hispeed.o d_input.o d_ioctrl.o d_loader.o d_lowspeed.o d_output.o d_sound.o d_timer.o d_usb.o m_sched.o sscanf.o Cstartup_SAM7.o Cstartup.d c_button.d c_cmd.d c_comm.d c_display.d c_input.d c_ioctrl.d c_loader.d c_lowspeed.d c_output.d c_sound.d c_ui.d d_bt.d d_button.d d_display.d d_hispeed.d d_input.d d_ioctrl.d d_loader.d d_lowspeed.d d_output.d d_sound.d d_timer.d d_usb.d m_sched.d sscanf.d Cstartup_SAM7.d version.mak \
Cursor.h Display.h Fail.h Info.h LowBattery.h Ok.h Wait.h RCXintro_1.h RCXintro_2.h RCXintro_3.h RCXintro_4.h RCXintro_5.h RCXintro_6.h RCXintro_7.h RCXintro_8.h RCXintro_9.h RCXintro_10.h RCXintro_11.h RCXintro_12.h RCXintro_13.h RCXintro_14.h RCXintro_15.h RCXintro_16.h Test1.h Test2.h Connections.h Devices.h Font.h Icons.h Port.h Running.h Status.h Step.h Mainmenu.h Submenu01.h Submenu02.h Submenu03.h Submenu04.h Submenu05.h Submenu06.h Submenu07.h
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_clean
debian/rules binary
dh binary
dh_update_autotools_config
dh_autoreconf
dh_auto_configure
debian/rules execute_before_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# No hardening for NXT firmware, tell blhc to ignore firmware build.
blhc: ignore-line-regexp: ^arm-none-eabi-.*
dh_auto_build
make -j2 INSTALL="install --strip-program=true"
make[2]: Entering directory '/<<PKGBUILDDIR>>'
arm-none-eabi-gcc -g -mcpu=arm7tdmi -mthumb -mthumb-interwork --specs=picolibc.specs -I. -I./include -DPROTOTYPE_PCB_4 -DNEW_MENU -DROM_RUN -DVECTORS_IN_RAM -DSTARTOFUSERFLASH_FROM_LINKER=1 -D'BUILD_DATE="2025-02-23T09:59"' -MMD -c -o Cstartup.o ./startup/Cstartup.S
arm-none-eabi-gcc -g -mcpu=arm7tdmi -mthumb -mthumb-interwork -Wall -W -Wundef -Wno-unused -Wno-format -Os -fno-strict-aliasing -ffunction-sections -fdata-sections --specs=picolibc.specs -I. -I./include -DPROTOTYPE_PCB_4 -DNEW_MENU -DROM_RUN -DVECTORS_IN_RAM -DSTARTOFUSERFLASH_FROM_LINKER=1 -D'BUILD_DATE="2025-02-23T09:59"' -MMD -c -o c_button.o ./src/c_button.c
ROM_MODE enabled
remapping enabled
Vectors at start of RAM
Vectors in section .vectmapped -> .data
RCR setting for remapping enabled
IRQ_Handler_Entry in section .fastrun -> .data
arm-none-eabi-gcc -g -mcpu=arm7tdmi -mthumb -mthumb-interwork -Wall -W -Wundef -Wno-unused -Wno-format -Os -fno-strict-aliasing -ffunction-sections -fdata-sections --specs=picolibc.specs -I. -I./include -DPROTOTYPE_PCB_4 -DNEW_MENU -DROM_RUN -DVECTORS_IN_RAM -DSTARTOFUSERFLASH_FROM_LINKER=1 -D'BUILD_DATE="2025-02-23T09:59"' -MMD -c -o c_cmd.o ./src/c_cmd.c
./src/c_cmd.c: In function 'cCmdCtrl':
./src/c_cmd.c:1183:3: warning: enumeration value 'VM_RUN_PAUSE' not handled in switch [-Wswitch]
1183 | switch (VarsCmd.VMState)
| ^~~~~~
arm-none-eabi-gcc -g -mcpu=arm7tdmi -mthumb -mthumb-interwork -Wall -W -Wundef -Wno-unused -Wno-format -Os -fno-strict-aliasing -ffunction-sections -fdata-sections --specs=picolibc.specs -I. -I./include -DPROTOTYPE_PCB_4 -DNEW_MENU -DROM_RUN -DVECTORS_IN_RAM -DSTARTOFUSERFLASH_FROM_LINKER=1 -D'BUILD_DATE="2025-02-23T09:59"' -MMD -c -o c_comm.o ./src/c_comm.c
./src/c_cmd.c: In function 'cCmdReadFileHeader':
./src/c_cmd.c:1447:36: error: initialization of 'void (*)(ULONG, ULONG)' {aka 'void (*)(long unsigned int, long unsigned int)'} from incompatible pointer type 'void (*)(void)' [-Wincompatible-pointer-types]
1447 | void (*native)(ULONG, ULONG) = (void (*)())(pData + NativeOffset);
| ^
./src/c_cmd.c: In function 'cCmdUnop2':
./src/c_cmd.c:4960:12: warning: taking the absolute value of unsigned type 'ULONG' {aka 'long unsigned int'} has no effect [-Wabsolute-value]
4960 | return abs(Operand);
| ^~~
./src/c_cmd.c: In function 'cCmdLSWrite':
./src/c_cmd.c:6455:4: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
6453 | if ((pInput->SensorType == LOWSPEED_9V || pInput->SensorType == LOWSPEED)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6454 | && (pInput->InvalidData == FALSE)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6455 | && (*pChState == LOWSPEED_IDLE) || (*pChState == LOWSPEED_ERROR))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/c_comm.c: In function 'cCommReq':
./src/c_comm.c:3624:20: warning: comparison is always true due to limited range of data type [-Wtype-limits]
3624 | if (Param1 <= sizeof(VarsComm.BtModuleOutBuf.Buf))
| ^~
make[2]: *** [<builtin>: c_cmd.o] Error 1
make[2]: *** Waiting for unfinished jobs....
./src/c_comm.c: In function 'cCommInterpreteCmd':
./src/c_comm.c:1195:9: warning: 'Status' may be used uninitialized [-Wmaybe-uninitialized]
1195 | return(Status);
| ^
./src/c_comm.c:497:11: note: 'Status' was declared here
497 | UWORD Status;
| ^~~~~~
./src/c_comm.c: In function 'cCommInterprete':
./src/c_comm.c:490:9: warning: 'ReturnStatus' may be used uninitialized [-Wmaybe-uninitialized]
490 | return(ReturnStatus);
| ^
./src/c_comm.c:355:11: note: 'ReturnStatus' was declared here
355 | UWORD ReturnStatus;
| ^~~~~~~~~~~~
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j2 INSTALL="install --strip-program=true" returned exit code 2
make[1]: *** [debian/rules:9: execute_before_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:4: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
More information about the Debian-lego-team
mailing list