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/
