Message ID | 9bQQgGpGjEpK7TZ2fb-yyHVRE5iY_PwlW7-do2Vk-7GwTPccqK2gx8ZQxETFeCXM6RmGa8352V9dxCWEKLUc5UhLScl67ZdLVQk3FyUQFp8=@protonmail.com |
---|---|
State | New |
Headers | show |
Series | [bug#51043] Fix build of rkdeveloptool | expand |
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 <phodina@protonmail.com> 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 <phodina@protonmail.com> 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
From cebf1356add8d5299e71abf45fb71b5afe5a30ee Mon Sep 17 00:00:00 2001 From: Petr Hodina <phodina@protonmail.com> Date: Mon, 21 Feb 2022 13:25:16 +0100 Subject: [PATCH v2 1/2] gnu: rkdeveloptool: Fix build. Apply 'guix style'. * gnu/packages/hardware.scm (rkdeveloptool): Update to newer commit 46bb4c. Apply 'guix style' [source]: Apply patch to fix GCC format truncation error. [arguments]: Add phase after install to install udev rules. * gnu/local.mk: Add patch. * gnu/packages/patches/rkdeveloptool-fix-format-truncation.patch: New file. diff --git a/gnu/local.mk b/gnu/local.mk index 9443dd617a..c01b063d17 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1810,6 +1810,7 @@ dist_patch_DATA = \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ %D%/packages/patches/r-mixedpower-r2power.patch \ + %D%/packages/patches/rkdeveloptool-fix-format-truncation.patch \ %D%/packages/patches/rnp-add-version.cmake.patch \ %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \ %D%/packages/patches/rnp-unbundle-googletest.patch \ diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index f392bb8c16..255b077eaa 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -1108,29 +1108,38 @@ (define-public wavemon (license license:gpl3+))) (define-public rkdeveloptool - (let ((commit "6e92ebcf8b1812da02663494a68972f956e490d3") - (revision "0")) + (let ((commit "46bb4c073624226c3f05b37b9ecc50bbcf543f5a") + (revision "1")) (package (name "rkdeveloptool") - (version (git-version "1.3" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/rockchip-linux/rkdeveloptool") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0zwrkqfxd671iy69v3q0844gfdpm1yk51i9qh2rqc969bd8glxga")))) + (version (git-version "1.32" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rockchip-linux/rkdeveloptool") + (commit commit))) + ;; https://github.com/rockchip-linux/rkdeveloptool/pull/62 + (patches (search-patches + "rkdeveloptool-fix-format-truncation.patch")) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kb2ylsrqqrdf4np66yxmk96kdc5g8nvjx13gifpm5rshv5770bq")))) (build-system gnu-build-system) - (native-inputs - (list autoconf automake pkg-config)) - (inputs - (list libusb)) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'install 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (let ((udev (string-append (assoc-ref outputs "out") + "/lib/udev/rules.d"))) + (mkdir-p udev) + (install-file "99-rk-rockusb.rules" udev))))))) + (native-inputs (list autoconf automake pkg-config)) + (inputs (list libusb)) (home-page "https://github.com/rockchip-linux/rkdeveloptool") - (synopsis "Read from and write to RockChicp devices over USB") + (synopsis "Read/write to rockchip devices over USB") (description - "Rkdeveloptool can read from and write to RockChip devices over USB, such + "Rkdeveloptool can read from and write to rockchip devices over USB, such as the Pinebook Pro.") (license license:gpl2+)))) diff --git a/gnu/packages/patches/rkdeveloptool-fix-format-truncation.patch b/gnu/packages/patches/rkdeveloptool-fix-format-truncation.patch new file mode 100644 index 0000000000..fd9a193e76 --- /dev/null +++ b/gnu/packages/patches/rkdeveloptool-fix-format-truncation.patch @@ -0,0 +1,22 @@ +From bc9e5f03d71b3dd4360721f4df3524c1dcba9bc8 Mon Sep 17 00:00:00 2001 +From: Petr Hodina <phodina@protonmail.com> +Date: Mon, 21 Feb 2022 13:00:53 +0100 +Subject: [PATCH] Fix format truncation for GCC >7.1. + + +diff --git a/main.cpp b/main.cpp +index 72bd94b..800db0b 100644 +--- a/main.cpp ++++ b/main.cpp +@@ -1490,7 +1490,7 @@ static bool saveEntry(FILE* outFile, char* path, rk_entry_type type, + static inline uint32_t convertChipType(const char* chip) { + char buffer[5]; + memset(buffer, 0, sizeof(buffer)); +- snprintf(buffer, sizeof(buffer), "%s", chip); ++ memcpy(buffer, chip, 4); + return buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3]; + } + +-- +2.34.0 + -- 2.37.2