build-system/gnu: Gracefully handle dangling symlinks in the 'strip' phase.

* guix/build/gnu-build-system.scm (strip): Check whether 'file-exists?'
  before calling 'elf-file?' and 'ar-file?'.  This should fix build
  failures in the presence of dangling symlinks, as in
  <http://hydra.gnu.org/build/167521/nixlog/1/raw>.
This commit is contained in:
Ludovic Courtès 2014-11-24 22:45:41 +01:00
parent c23d17095d
commit f8bcf1935a
1 changed files with 2 additions and 1 deletions

View File

@ -343,7 +343,8 @@ makefiles."
debug-output objcopy-command)) debug-output objcopy-command))
(file-system-fold (const #t) (file-system-fold (const #t)
(lambda (path stat result) ; leaf (lambda (path stat result) ; leaf
(and (or (elf-file? path) (ar-file? path)) (and (file-exists? path) ;discard dangling symlinks
(or (elf-file? path) (ar-file? path))
(or (not debug-output) (or (not debug-output)
(make-debug-file path)) (make-debug-file path))
(zero? (apply system* strip-command (zero? (apply system* strip-command