Ludovic Courtès writes: > Christopher Baines skribis: > >> Mark H Weaver writes: > > [...] > >>>> +(define-gexp-compiler (gitolite-rc-file-compiler >>>> + (file ) system target) >>>> + (match file >>>> + (($ umask git-config-keys roles enable) >>>> + (apply text-file* "gitolite.rc" >>>> + `("%RC = (\n" >>>> + " UMASK => " ,(format #f "~4,'0o" umask) ",\n" > > [...] > >>> --8<---------------cut here---------------start------------->8--- >>> 0 (simple-format #f "~4,'0o" 63) >>> >>> ERROR: In procedure simple-format: >>> In procedure simple-format: FORMAT: Unsupported format option ~4 - use (ice-9 format) instead >>> --8<---------------cut here---------------end--------------->8--- > > [...] > >> It sounds to me like adding #:use-modules (ice-9 format) to (gnu >> services version-control) would fix this, but I'll wait until I can >> reproduce the failure before re-adding the service. > > Yes, adding #:use-module (ice-9 format) will fix the problem. > > You should be able to reproduce it by running “make hydra-jobs”. > > As to why you can’t necessarily reproduce it… It turns out that loading > (ice-9 format) has the effect of set!ting the global ‘format’ binding. > So if some unrelated piece of code loads (ice-9 format), you don’t have > any problems; but if that doesn’t happen, you get the error. > > This terrible behavior has been in Guile forever and nobody has dared > changing it so far. :-) The -Wformat warning tries hard to diagnose > the issue though. Thanks both. I've added the #:use-module (ice-9 format) bit, and pushed now. Locally I got make hydra-jobs.scm to run successfully, so hopefully this hasn't broken anything this time :) Chris