dftxbs3e writes: Hello!
> So here's my current tree: > https://gitlab.com/lle-bout/guix - master branch > Bootstrap binaries are uploaded over LFS at: > https://gitlab.com/lle-bout/guix-bootstrap - master branch > The current issue is during 'glibc-intermediate' in > gnu/packages/commencement.scm > The statically linked gawk binary tries to execute: > execve("/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-bash-static-5.0.7/bin/bash", > ["sh", "-c", "test -d nptl"], 0x3fffd261ecc0 /* 57 vars */) = -1 > According to Ludovic Courtes, store references with 'eeeeeee' characters in > them are removed store references. > So I went and tried to strip the reference to bash and replace it with `sh` > so that either gawk or any of its dependency can look up `sh` in PATH at > bootstrap time (we do not know any path yet). Have you tried building static gawk standalone and check it for that bash? You could do something like grep -ao '/gnu/store/e*-bash' $(./pre-inst-env guix build -e '(@@ (gnu packages make-bootstrap) %static-binaries)') On my x86_64-linux system, I get /gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-bash > In the commit history, you can see I tried to patch glibc and gawk, but that > does not solve the problem. > The final gawk binary still contains a reference to bash-static, and I have > no idea where it comes from. > Do note that during gawk build process, there's a 'set-shell-filename phase, > that I removed in gnu/packages/make-bootstrap.scm and instead replace every > occurrence of /bin/sh with `sh`. > > I would appreciate help here. For the new Scheme-only bootstrap, I solved a similar problem for %bootstrap-mes by replacing the /gnu/store/eee* store-references with actual bootstrap file names; see `%bootstrap-mes-rewired' in core-updates http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/commencement.scm?h=core-updates#n251 HTH, janneke -- Jan Nieuwenhuizen <[email protected]> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com
