aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-24 22:45:41 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-24 22:45:41 +0100
commitf8bcf1935a18e9a728e824030b3ded4fb63638cf (patch)
tree0e95bfbfec68ff603cd185e3e867a2ad3859e749
parentc23d17095db0611d8ee32357f17da441bcb0bc75 (diff)
downloadguix-f8bcf1935a18e9a728e824030b3ded4fb63638cf.tar.gz
guix-f8bcf1935a18e9a728e824030b3ded4fb63638cf.zip
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>.
-rw-r--r--guix/build/gnu-build-system.scm3
1 files changed, 2 insertions, 1 deletions
diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm
index dbbb71af35..e42a6cc48b 100644
--- a/guix/build/gnu-build-system.scm
+++ b/guix/build/gnu-build-system.scm
@@ -343,7 +343,8 @@ makefiles."
debug-output objcopy-command))
(file-system-fold (const #t)
(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)
(make-debug-file path))
(zero? (apply system* strip-command