Message ID | d36bc5b8d1bc2755c618218450c0dcf33ab54e1e.1703600805.git.zhengjunjie@iscas.ac.cn |
---|---|
State | New |
Headers | show |
Series | [bug#68048] gnu: cdparanoia: Fix cross-compiling. | expand |
Hello, When cross-compiling for aarch64-linux-gnu, I have the following error: --8<---------------cut here---------------start------------->8--- configure: error: /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash ./config.sub aarch64-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/qn2iwmdv7k5105qds7vczrhyyp2587ic-cdparanoia-10.2" "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" "--host=aarch64-linux-gnu" "LDFLAGS=-Wl,-rpath=/gnu/store/qn2iwmdv7k5105qds7vczrhyyp2587ic-cdparanoia-10.2/lib") exit-status: 1 term-signal: #f stop-signal: #f> phase `configure' failed after 0.3 seconds command "/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/bash" "./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/qn2iwmdv7k5105qds7vczrhyyp2587ic-cdparanoia-10.2" "--enable-fast-install" "--build=x86_64-unknown-linux-gnu" "--host=aarch64-linux-gnu" "LDFLAGS=-Wl,-rpath=/gnu/store/qn2iwmdv7k5105qds7vczrhyyp2587ic-cdparanoia-10.2/lib" failed with status 1 builder for `/gnu/store/w02ly1dkxf4n8ndfccmvny9nawir4pjs-cdparanoia-10.2.drv' failed with exit code 1 build of /gnu/store/w02ly1dkxf4n8ndfccmvny9nawir4pjs-cdparanoia-10.2.drv failed --8<---------------cut here---------------end--------------->8--- > + ,@(if (and (target-riscv64?) > + (%current-target-system)) This condition may need to be extended? Thanks, Mathieu
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index aaa2e50293..4e858c571f 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -233,10 +234,33 @@ (define-public cdparanoia `(#:tests? #f ; there is no check target #:parallel-build? #f ;randomly fails to link #:configure-flags ; Add $libdir to the RUNPATH of all the executables. - (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + (list (string-append "LDFLAGS=-Wl,-rpath=" + ,(if (%current-target-system) + '(assoc-ref %outputs "out") + '%output) + "/lib")) ;; Building in parallel is flaky: “ld: […]/cachetest.c:393: undefined ;; reference to `paranoia_free'”. - #:parallel-build? #f)) + #:parallel-build? #f + ,@(if (and (target-riscv64?) + (%current-target-system)) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'update-config-scripts + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.guess and config.sub. + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub")))))) + '()))) + (native-inputs + (if (and (target-riscv64?) + (%current-target-system)) + (list config) + '())) (home-page "https://www.xiph.org/paranoia/") (synopsis "Audio CD reading utility") (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM