[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bootstrapping on a new platform
From: |
Manolis Ragkousis |
Subject: |
Re: Bootstrapping on a new platform |
Date: |
Sun, 3 Dec 2017 08:46:56 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 |
Hello Paul,
On 12/03/17 01:17, Paul Boddie wrote:
> I finally got round to trying to build Guix again, this time doing a native
> build rather than a cross-build. However, I'm attempting this on an
> unsupported platform (mipsel), and it isn't clear what I need to do to make
> the bootstrap binaries and thus attempt a source build.
>
> What I've figured out so far is this:
>
> tar zxf guix-0.13.0.tar.gz
> cd guix-0.13.0
> ./bootstrap
> ./configure --with-courage
> make
> make install
>
> This gets me the guix-daemon, but upon trying to do anything, I get the
> following:
>
> guix build: error: could not find bootstrap binary 'tar' for system 'mipsel-
> linux'
>
You need to cross-build those binaries from a system that is supported,
like x86_64-linux for example.
> I understand that I need some bootstrap binaries, and the bootstrapping
> documentation indicates that these can indeed be generated as follows:
>
> guix build --target=mipsel-linux-gnu bootstrap-tarballs
>
> But this just gives the same error. And I am actually running on mipsel-linux-
> gnu, so I suppose it might be different if I were try this on a supported
> system - i386-linux-gnu, for instance - and thus generate the binaries that
> way.
>
> Maybe I have just missed the part of the manual that talks about these source
> builds, but it really doesn't seem obvious to me. Another thing, which I've
> seen mentioned on this list is reproducible builds. Might it be possible to
> have architecture-independent source archives that reproducibly build the
> binaries?
>
First I would suggest checking out my talk in FOSDEM 17 which I tried to
explain how bootstrapping in Guix works, along with how I did it for
Hurd. [1]
The simplified steps are the following:
1) Cross-build those binaries from a supported system
2) Add the new binaries to Guix (check gnu/packages/bootstrap.scm)
3) Copy the Guix source which now has the new binaries to the system you
are trying to port it to. I suggest working on the git version of Guix
for this. It's good to have the updated version.
4) ./boostrap && ./configure --with-courage && make
5) work out issues and enjoy.
Does this make sense? I have spent a lot of time on this so please ask
and I can help you :).
Manolis
[1] https://archive.fosdem.org/2017/schedule/event/guixhurd/
- Bootstrapping on a new platform, Paul Boddie, 2017/12/02
- Re: Bootstrapping on a new platform,
Manolis Ragkousis <=
- Re: Bootstrapping on a new platform, Efraim Flashner, 2017/12/03
- Re: Bootstrapping on a new platform, Paul Boddie, 2017/12/04
- Re: Bootstrapping on a new platform, Ludovic Courtès, 2017/12/08
- Re: Bootstrapping on a new platform, Paul Boddie, 2017/12/08
- Re: Bootstrapping on a new platform, Paul Boddie, 2017/12/08
- Re: Bootstrapping on a new platform, Ludovic Courtès, 2017/12/11
- Re: Bootstrapping on a new platform, Paul Boddie, 2017/12/11
- Re: Bootstrapping on a new platform, Ludovic Courtès, 2017/12/12
- Re: Bootstrapping on a new platform, Paul Boddie, 2017/12/12