Skip to content

Commit b9d3f68

Browse files
author
B. Wilson
committed
make3:fix: Disable parallel builds
Unfortunately, we ran into build non-determinism, causing random target-hash mismatches. In particular, we noticed this when a hash mismatch fired after removing some dead code from build_jconsole.sh. By diffing the xtrace, i.e. `set +x`, results with and without the change, we confirmed that the executed commands were exactly the same; however, a quick inspection using diffoscope on the two output directories revealed differences, not in jconsole, but in libj.so. The issue seems to be that build outputs are colocated with source files, meaning that parallel builds end up clobbering each other's object files.
1 parent 8484555 commit b9d3f68

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

jbuild.scm

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@
179179
(native-inputs `(("toolchain" ,toolchain)))
180180
(inputs (cons* libedit libomp jsoftware-auxiliary-files extra-inputs))
181181
(arguments
182-
`(#:parallel-tests? #f
182+
`(#:parallel-build? #f
183+
#:parallel-tests? #f
183184
#:tests? #f
184185
#:modules (((ice-9 ftw) #:select (scandir))
185186
((ice-9 popen) #:select (open-pipe* close-pipe))
@@ -501,7 +502,7 @@ that are not already well understood.")
501502
("LDFLAGS" "-lsleef"))))
502503

503504
(define j (apply j-package j-base-args))
504-
(define %j-target-hash "tihgvwf7oqyi3cg5p4gregjby42odlrkobumroa6nb7cuphrsrya")
505+
(define %j-target-hash "har6llk2rv3bwh3gao3qr3ue3dkmm6n4agvmkjhkes3iku2zjngq")
505506

506507
(match (program-arguments)
507508
;; Don't execute anything if loading in repl

0 commit comments

Comments
 (0)