gnu: coreutils: Fix cross-compilation to i586-pc-gnu.
authorLudovic Courtès <ludo@gnu.org>
Tue, 31 Mar 2020 12:16:53 +0000 (14:16 +0200)
committerLudovic Courtès <ludo@gnu.org>
Tue, 31 Mar 2020 12:55:42 +0000 (14:55 +0200)
Until now cross-compilation would fail with:

  i586-pc-gnu-ld: src/copy.o: undefined reference to symbol 'file_chauthor'
  i586-pc-gnu-ld: /gnu/store/…-glibc-cross-i586-pc-gnu-2.29/lib/libhurduser.so.0.3: error adding symbols: DSO missing from command line
  collect2: error: ld returned 1 exit status

* gnu/packages/base.scm (coreutils)[arguments]: When 'hurd-target?', add
 #:configure-flags.

gnu/packages/base.scm

index a49ea25..4827f80 100644 (file)
@@ -330,6 +330,13 @@ used to apply commands with arbitrarily long arguments.")
    (outputs '("out" "debug"))
    (arguments
     `(#:parallel-build? #f            ; help2man may be called too early
+
+      ;; 'cp' and others refer to 'file_chauthor' so they must link directly
+      ;; against libhurduser.
+      ,@(if (hurd-target?)
+            '(#:configure-flags '("LIBS=-lhurduser"))
+            '())
+
       #:phases (modify-phases %standard-phases
                  (add-before 'build 'patch-shell-references
                    (lambda _