diary
Table of Contents
- Fresh release build with lilydev
- 14:57
- Deleted GUB repo.
- 14:59
- Issued a fresh build command:
time ( rm -rf gub && git clone git://github.com/colinghall/gub.git && cd gub && make bootstrap && make LILYPOND_BRANCH=release/unstable lilypond)
- 19:34
- Found build terminated due to missing regtest tarball. Followed the on-screen instructions:
wget http://lilypond.org/download/binaries/test-output/lilypond-2.15.38-1.test-output.tar.bz2 mv lilypond-2.15.38-1.test-output.tar.bz2 gub/regtests/ touch gub/regtests/ignore
- 20:10
- Build resumed and chugging along happily. Command was:
time ( cd gub && make bootstrap && make LILYPOND_BRANCH=release/unstable lilypond)
- 21:24
- Still building. Building linux-64::cross/gcc
- 22:48
- Tool downloads completed. Looks like git is pulling in the lilypond source
- 23:23
- Building darwin-ppc::glib
- 00:35
- Building linux-x86::lilypond
- 01:40
- Binaries built. Build is working on lilypond-test, linux-x86.
- 01:42
- Disconnected from screen session. Closed down VM.
- Continuing lilydev build
- 08:51
- Woke laptop, started VM. Build should be running
- 08:56
- ssh in with PuTTy, resume screen session.
- 08:58
- Build failed on netpbm. Break for breakfast.
- 10:03
- Investigating netpbm build failure.
- 10:08
- The tar archive is missing. Got the url from the specs file
# The download directory is empty. ls gub/downloads/netpbm # Check the URL cat gub/gub/specs/netpbm.py wget http://lilypond.org/download/gub-sources/netpbm-patched/netpbm-patched-10.35.tar.bz2 # The download works. What happened to the tarball? Check the log. ls gub/target/tools/log/netpbm.log
- 10:16
- The download URI is ok.
$ head -20 gub/target/tools/log/netpbm.log * Starting build: Sat Jun 2 08:58:59 2012 must rebuild: tools::netpbm *** Checksum mismatch: diff (netpbm, tools) --- /home/colin/gub/target/tools/packages/netpbm.checksum 0000 +++ THIS BUILD Sat Jun 2 08:58:56 2012
- 10:18
- Investigating the checksum mismatch
- 10:26
- Under gub/target/tools/packages there are files xxxxx.checksum for many packages, but not one for netpbm. Looking at those files they appear to be saved log files from previous runs. Some attempt to detect a change in behaviour? In which case they will be in the GUB repo
- 10:34
- No, not in the repo here: https://github.com/gperciva/gub
- 10:35
- It is explained in the README file:
$ head -215 gub/README | tail -19 Checksums and rebuilds GUB seeks to minimise unnecessary rebuilds while being strict about important changes. Before starting the actual building of a package, the build recipe is executed as a dry-run and a checksum is calculated from these build commands. This checksum includes the environment variables DISPLAY, FTP_PROXY, GUB_TOOLS_PREFIX, HOME, HTTP_PROXY, LIBRESTRICT, PATH [no other environment variables are allowed through]. The packages' build checksum is matched with the previous build and if it changes, the package is rebuilt. Otherwise, only the binary package is reinstalled, if necessary. This means that the .py build specs can be changed and refactored at will and as long as no actual build commands change, nothing will be rebuilt. This makes that forcing rebuilds can can be tricky: gub refuses to do so if it deems rebuilding unnecessary.
- 10:40
- So the checksum mismatch is not a failure, just GUB's way of deciding there is a build to be done.
- 10:42
- It looks like the build script has failed to perform
the download. So, I'll wget the tarball and copy it
into place and try running the netpbm build again.
wget http://lilypond.org/download/gub-sources/netpbm-patched/netpbm-patched-10.35.tar.bz2 mv netpbm-patched-10.35.tar.bz2 gub/downloads/netpbm/
- 10:49
- Yes, that seems to have worked. I'll fix the build script later.
$ time ( cd gub && bin/gub tools::netpbm) calculating dependencies Checking for gcc ... /usr/bin/gcc must rebuild[tools]: system::gcc netpbm building package: tools::netpbm *** Stage: download (netpbm, tools) *** Stage: untar (netpbm, tools) *** Stage: patch (netpbm, tools) *** Stage: autoupdate (netpbm, tools) *** Stage: configure (netpbm, tools)
- 10:53
- Reissuing the make lilypond command. Binaries are
build so I hope it just skips through and resumes
building the tests.
time ( cd gub && make bootstrap && make LILYPOND_BRANCH=release/unstable lilypond)
- 10:55
- Build continuing with a lot of system::xxxx builds
- 10:55
- Taking a break.