* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux. @ 2024-03-22 16:44 Zheng Junjie 2024-03-27 12:44 ` Christopher Baines 0 siblings, 1 reply; 4+ messages in thread From: Zheng Junjie @ 2024-03-22 16:44 UTC (permalink / raw) To: 69944 [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset=y, Size: 2661 bytes --] * gnu/packages/disk.scm (dmraid) [native-inputs]: When cross compiling to riscv64-linux-gnu, add config. [arguments]: When target riscv64-linux-gnu, add update-config phase. Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb --- gnu/packages/disk.scm | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index b0117d77ce..5339f54d99 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com> ;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com> -;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1145,7 +1145,12 @@ (define-public dmraid "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk")))) (build-system gnu-build-system) (inputs (list lvm2)) - (native-inputs (list which)) + (native-inputs + (append (if (and (target-riscv64?) + (%current-target-system)) + (list config) + '()) + (list which))) (arguments `(#:tests? #f ; No tests. ;; Prevent a race condition where some target would attempt to link @@ -1158,7 +1163,18 @@ (define-public dmraid (chdir (string-append ,version "/dmraid")) (substitute* "make.tmpl.in" (("/bin/sh") (which "sh"))) - #t))) + #t)) + ,@(if (and (target-riscv64?) + (%current-target-system)) + `((add-after 'unpack 'update-config + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub"))))) + '())) #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can ;; find libdmraid.so. (string-append "LDFLAGS=-Wl,-rpath=" base-commit: 40f53e8fb5b867e3a1e8fa798328423718282aac -- 2.41.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux. 2024-03-22 16:44 [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux Zheng Junjie @ 2024-03-27 12:44 ` Christopher Baines 2024-03-27 13:40 ` Zheng Junjie 0 siblings, 1 reply; 4+ messages in thread From: Christopher Baines @ 2024-03-27 12:44 UTC (permalink / raw) To: Zheng Junjie; +Cc: 69944 [-- Attachment #1: Type: text/plain, Size: 1533 bytes --] Zheng Junjie <zhengjunjie@iscas.ac.cn> writes: > * gnu/packages/disk.scm (dmraid) > [native-inputs]: When cross compiling to riscv64-linux-gnu, add config. > [arguments]: When target riscv64-linux-gnu, add update-config phase. > > Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb > --- > gnu/packages/disk.scm | 22 +++++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) Hi! Thanks for the patch, this doesn't build for me though: checking build system type... x86_64-unknown-linux-gnu checking host system type... Invalid configuration `riscv64-linux-gnu': machine `riscv64' not recognized configure: error: /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash autoconf/config.sub riscv64-linux-gnu failed error: in phase 'configure': uncaught exception: %exception #<&invoke-error program: "/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" arguments: ("./configure" "CC_FOR_BUILD=gcc" "CONFIG_SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" "SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" "--prefix=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3" "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" "--host=riscv64-linux-gnu" "LDFLAGS=-Wl,-rpath=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3/lib") exit-status: 1 term-signal: #f stop-signal: #f> https://bordeaux.guix.gnu.org/build/47b7e0bf-b082-4d62-ac4c-8de5c28f5faf/log [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux. 2024-03-27 12:44 ` Christopher Baines @ 2024-03-27 13:40 ` Zheng Junjie 2024-04-21 14:03 ` Christopher Baines 0 siblings, 1 reply; 4+ messages in thread From: Zheng Junjie @ 2024-03-27 13:40 UTC (permalink / raw) To: Christopher Baines; +Cc: 69944 [-- Attachment #1.1: Type: text/plain, Size: 628 bytes --] Christopher Baines <mail@cbaines.net> writes: > [[PGP Signed Part:Undecided]] > > Zheng Junjie <zhengjunjie@iscas.ac.cn> writes: > >> * gnu/packages/disk.scm (dmraid) >> [native-inputs]: When cross compiling to riscv64-linux-gnu, add config. >> [arguments]: When target riscv64-linux-gnu, add update-config phase. >> >> Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb >> --- >> gnu/packages/disk.scm | 22 +++++++++++++++++++--- >> 1 file changed, 19 insertions(+), 3 deletions(-) > > Hi! > > Thanks for the patch, this doesn't build for me though: Sorry, this patch should build, and also build to aarch64-linux-gnu. [-- Attachment #1.2: 0001-gnu-dmraid-Fix-cross-compiling.patch --] [-- Type: text/x-patch, Size: 4101 bytes --] From 61f56da975095071649e48a6e975ffcdd4dd8063 Mon Sep 17 00:00:00 2001 Message-ID: <61f56da975095071649e48a6e975ffcdd4dd8063.1711546964.git.zhengjunjie@iscas.ac.cn> From: Zheng Junjie <zhengjunjie@iscas.ac.cn> Date: Sat, 23 Mar 2024 00:17:47 +0800 Subject: [PATCH] gnu: dmraid: Fix cross-compiling * gnu/packages/disk.scm (dmraid) [native-inputs]: When cross compiling, add config, autoconf, automake. [arguments]: When cross compiling, add update-config and fix-rpl_malloc phase. Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb --- gnu/packages/disk.scm | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index b0117d77ce..35e75d89fe 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com> ;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com> -;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1145,7 +1145,13 @@ (define-public dmraid "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk")))) (build-system gnu-build-system) (inputs (list lvm2)) - (native-inputs (list which)) + (native-inputs + (append (if (%current-target-system) + (list config + autoconf + automake) + '()) + (list which))) (arguments `(#:tests? #f ; No tests. ;; Prevent a race condition where some target would attempt to link @@ -1158,7 +1164,34 @@ (define-public dmraid (chdir (string-append ,version "/dmraid")) (substitute* "make.tmpl.in" (("/bin/sh") (which "sh"))) - #t))) + #t)) + ,@(if (%current-target-system) + `((add-after 'unpack 'update-config + (lambda* (#:key native-inputs inputs + #:allow-other-keys) + (with-directory-excursion + (string-append ,version "/dmraid/autoconf") + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) + ".")) + '("config.guess" "config.sub"))))) + (add-after 'unpack 'fix-rpl_malloc + (lambda _ + ;; AC_FUNC_MALLOC and AC_FUNC_REALLOC usually + ;; unneeded, see + ;; https://lists.gnu.org/archive/html/autoconf/2003-02/msg00017.html + (with-directory-excursion + (string-append ,version "/dmraid") + (substitute* "configure.in" + (("AC_FUNC_MALLOC") "") + (("AC_FUNC_REALLOC") "")) + (delete-file "./configure") + (copy-file "configure.in" "configure.ac") + (invoke "autoreconf" "-fiv"))))) + '())) #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can ;; find libdmraid.so. (string-append "LDFLAGS=-Wl,-rpath=" base-commit: 656baadf83f2812c0ff79f4f2f0b5f1e927ed8a5 -- 2.41.0 [-- Attachment #1.3: Type: text/plain, Size: 1122 bytes --] > > checking build system type... x86_64-unknown-linux-gnu > checking host system type... Invalid configuration > `riscv64-linux-gnu': machine `riscv64' not recognized > configure: error: > /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash > autoconf/config.sub riscv64-linux-gnu failed > error: in phase 'configure': uncaught exception: > %exception #<&invoke-error program: > "/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" > arguments: ("./configure" "CC_FOR_BUILD=gcc" > "CONFIG_SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" > "SHELL=/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" > "--prefix=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3" > "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" > "--host=riscv64-linux-gnu" > "LDFLAGS=-Wl,-rpath=/gnu/store/gb6ij94hk33ivx193zq87m2vhlhzsm8j-dmraid-1.0.0.rc16-3/lib") > exit-status: 1 term-signal: #f stop-signal: #f> > > > https://bordeaux.guix.gnu.org/build/47b7e0bf-b082-4d62-ac4c-8de5c28f5faf/log > > [[End of PGP Signed Part]] [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux. 2024-03-27 13:40 ` Zheng Junjie @ 2024-04-21 14:03 ` Christopher Baines 0 siblings, 0 replies; 4+ messages in thread From: Christopher Baines @ 2024-04-21 14:03 UTC (permalink / raw) To: Zheng Junjie; +Cc: 69944 [-- Attachment #1: Type: text/plain, Size: 815 bytes --] Zheng Junjie <zhengjunjie@iscas.ac.cn> writes: > Christopher Baines <mail@cbaines.net> writes: > >> [[PGP Signed Part:Undecided]] >> >> Zheng Junjie <zhengjunjie@iscas.ac.cn> writes: >> >>> * gnu/packages/disk.scm (dmraid) >>> [native-inputs]: When cross compiling to riscv64-linux-gnu, add config. >>> [arguments]: When target riscv64-linux-gnu, add update-config phase. >>> >>> Change-Id: I491c43a6ce2c3fc3aed43ecab9d4a2ab251038bb >>> --- >>> gnu/packages/disk.scm | 22 +++++++++++++++++++--- >>> 1 file changed, 19 insertions(+), 3 deletions(-) >> >> Hi! >> >> Thanks for the patch, this doesn't build for me though: > > Sorry, this patch should build, and also build to aarch64-linux-gnu. Thanks, would you be able to rebase this on master and resend, as I don't think it applies currently? Thanks, Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-04-21 14:04 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-03-22 16:44 [bug#69944] [PATCH] gnu: dmraid: Fix cross-compiling to riscv64-linux Zheng Junjie 2024-03-27 12:44 ` Christopher Baines 2024-03-27 13:40 ` Zheng Junjie 2024-04-21 14:03 ` Christopher Baines
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/guix.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.