Skip to content

Commit 1dcae03

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 7c6147d commit 1dcae03

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

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 "tcfqrk56ugpkpdmhaxrot4na3jju6uhs2toqgzcudw4tgbx76mmq")
505506

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

0 commit comments

Comments
 (0)