Subject: [bug#51043] Fix build of rkdeveloptool

From: phodina <[email-masked]>
Date: Mon, 09 Jan 2023 12:49:10 +0000

Hi Efraim,

since you fixed the build can for the rkdeveloptool (commit 3ad3869297fd327ef417b1ecb95c2c4caf53d2e6) can you have a look also on the second patch please?

----
Petr
------- Original Message -------
On Thursday, December 15th, 2022 at 9:36 PM, phodina <[email-masked]> wrote:

> Hi Ludo’,
>
> speaking of lost patches this one is little bit annoying as it does not even build.
>
> Excerpt of the build log, build failure caused probably by introducing stricter compilation flags in `gnu-build-system`:
>
> starting phase `build'
> make[1]: Entering directory '/tmp/guix-build-rkdeveloptool-1.3-0.6e92ebc.drv-0/source'
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cpp
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT crc.o -MD -MP -MF .deps/crc.Tpo -c -o crc.o crc.cpp
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT RKBoot.o -MD -MP -MF .deps/RKBoot.Tpo -c -o RKBoot.o RKBoot.cpp
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT RKComm.o -MD -MP -MF .deps/RKComm.Tpo -c -o RKComm.o RKComm.cpp
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT RKDevice.o -MD -MP -MF .deps/RKDevice.Tpo -c -o RKDevice.o RKDevice.cpp
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT RKImage.o -MD -MP -MF .deps/RKImage.Tpo -c -o RKImage.o RKImage.cpp
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT RKLog.o -MD -MP -MF .deps/RKLog.Tpo -c -o RKLog.o RKLog.cpp
> g++ -DHAVE_CONFIG_H -I. -I./cfg -Wall -Werror -Wextra -Wreturn-type -fno-strict-aliasing -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -I/gnu/store/vjlg2z75qwbwxdp5qiklcdx7df9xvbb2-libusb-1.0.24/include/libusb-1.0 -g -O2 -MT RKScan.o -MD -MP -MF .deps/RKScan.Tpo -c -o RKScan.o RKScan.cpp
> mv -f .deps/RKBoot.Tpo .deps/RKBoot.Po
> mv -f .deps/RKImage.Tpo .deps/RKImage.Po
> mv -f .deps/RKLog.Tpo .deps/RKLog.Po
> mv -f .deps/RKDevice.Tpo .deps/RKDevice.Po
> mv -f .deps/RKComm.Tpo .deps/RKComm.Po
> mv -f .deps/crc.Tpo .deps/crc.Po
> mv -f .deps/RKScan.Tpo .deps/RKScan.Po
> main.cpp: In function ‘bool _Z9mergeBootv.part.0()’:
> main.cpp:1541:36: error: ‘%s’ directive output may be truncated writing up to 557 bytes into a region of size 5 [-Werror=format-truncation=]
> 1541 | snprintf(buffer, sizeof(buffer), "%s", chip);
> | ^~
> ......
> 1582 | chipType = convertChipType(chip + 2);
> | ~~~~~~~~~~~~~~~~~~~~~~~~~
> main.cpp:1541:10: note: ‘snprintf’ output between 1 and 558 bytes into a destination of size 5
> 1541 | snprintf(buffer, sizeof(buffer), "%s", chip);
> | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> cc1plus: all warnings being treated as errors
> make[1]: *** [Makefile:473: main.o] Error 1
> make[1]: Leaving directory '/tmp/guix-build-rkdeveloptool-1.3-0.6e92ebc.drv-0/source'
> make: *** [Makefile:493: all-recursive] Error 1
> error: in phase 'build': uncaught exception:
> %exception #<&invoke-error program: "make" arguments: ("-j" "16") exit-status: 2 term-signal: #f stop-signal: #f>
> phase `build' failed after 2.2 seconds
> command "make" "-j" "16" failed with status 2
> builder for `/gnu/store/srykckhmy9lpdg2gl6702vs71b20apsj-rkdeveloptool-1.3-0.6e92ebc.drv' failed with exit code 1
> build of /gnu/store/srykckhmy9lpdg2gl6702vs71b20apsj-rkdeveloptool-1.3-0.6e92ebc.drv failed
> View build log at '/var/log/guix/drvs/sr/ykckhmy9lpdg2gl6702vs71b20apsj-rkdeveloptool-1.3-0.6e92ebc.drv.gz'.guix build: error: build of `/gnu/store/srykckhmy9lpdg2gl6702vs71b20apsj-rkdeveloptool-1.3-0.6e92ebc.drv' failed
> ------- Original Message -------
> On Monday, February 21st, 2022 at 1:43 PM, phodina <[email-masked]> wrote:
>
>> Hi,
>>
>> Here's fix of the rkdeveloptool package which fails to build due to GCC complaining about the truncation error.
>>
>> See https://github.com/rockchip-linux/rkdeveloptool/pull/62.
>>
>> ----
>> Petr