help-guix
[Top][All Lists]
Advanced

[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/



reply via email to

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