On current ‘wip-hurd-vm’ (very close to ‘core-updates’), there’s this discrepancy between ‘pack’ and ‘build’:
--8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix build hurd --target=i586-pc-gnu -d --no-grafts /gnu/store/m8gvpjh1dlgx8v3dbvkpqw17k00h9hv3-hurd-0.9-1.91a5167.drv $ ./pre-inst-env guix pack hurd --target=i586-pc-gnu -n --no-grafts The following derivations would be built: /gnu/store/1vq3dzc74afy34i6ylymlqqw8hmxvrc8-tarball-pack.tar.gz.drv /gnu/store/bzxr1n7z5rkksavql1nckyri4qdslrms-profile.drv /gnu/store/gs1zz38m5vvm6fy3nh1jv3fj4vikzmhf-hurd-0.9-1.91a5167.drv /gnu/store/17m76zz1nia4mxafh5bzcjlcgf631pzq-glibc-hurd-headers-2.31.drv The following profile hooks would be built: /gnu/store/0sk6qm07y32gf3ljxk718d2g7c0nnh8m-manual-database.drv /gnu/store/61qr5qwryi3k1vwbi2ddhy24qy7ld4di-fonts-dir.drv /gnu/store/ahcfp2f1ddnym4sw4j8c23mz64mkzvid-info-dir.drv /gnu/store/iw2hzd7fsl62a7y2nj577bg89cys0i3q-ca-certificate-bundle.drv $ git log |head commit b61467c0c813e65ed86d9b1b8ba1187f117751b9 Author: Ludovic Courtès <[email protected]> Date: Thu Apr 2 16:47:40 2020 +0200 gnu: cross-libc: Add patch to add 'mach_print' symbol on GNU/Hurd. * gnu/packages/patches/glibc-hurd-mach-print.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/cross-base.scm (cross-libc): Add 'patch-libc/hurd' phase when 'hurd-target?' is true. --8<---------------cut here---------------end--------------->8--- ‘guix pack’ would build a different hurd derivation, one that actually fails to build. The difference here is that the “wrong” hurd derivation depends on a glibc-hurd-headers-2.31.drv that lacks MiG as an input, which suggests that the (if (hurd-target?) …) conditional in ‘glibc’ is not working as expected. Ludo’.
