guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Boostrap tar cannot exec xz


From: Carlos Sánchez de La Lama
Subject: Re: Boostrap tar cannot exec xz
Date: Fri, 30 Sep 2016 23:47:19 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Hi!

>> still trying too bootstrap linux-powerpc.
>
> This is exciting, BTW!

Yes, my plan is to make a full GuixSD install at some point. But
step by step, first thing is bootstrapping on top of my debian.

>> That commit also added the substitution of "/bin/sh" to
>> "<bash-store-path>/bin/sh" in src/system.c when compiling tar, which
>> is fine in general, but gets broken when %static-binaries does a
>> remove-store-reference for all the static binaries.
>
> That substitution is needed, because otherwise ‘tar’ fails to spawn
> external programs when in a build environment (the chroot lacks
> /bin/sh), which causes its own test suite to fail.

Noticed. I tried removing that substitution extra phase and tar
testsuite failed.

> In ‘raw-build’ in bootstrap.scm, we run:
>
>   xz -dc thing.tar.xz | tar xv

If I have understood correctly the code, raw-build is only used for
%bootstrap-guile. However, the problem arises when building make (I do
not have access to that machine righg now, so I am unsure of the exact
package). i guess one option would be to create bootstrap versions of
all packages on which tar depends (most probably already exist) and use
xz | tar on them, until the requirements for a new non-bootstrap tar
build can be met.

Another option that just csme to my mind is replacing all the nuked
store referenced in the static binaries with references to the unpacked
store path after extraction. As the nuked references can be easily
identified by the "eeeeee..." fake path, this should be doable.

Which solution do you think makes more sense?

BR

Carlos



reply via email to

[Prev in Thread] Current Thread [Next in Thread]