guix-devel
[Top][All Lists]
Advanced

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

Re: I managed to build guix natively on Debian GNU/Hurd , what's next?


From: Efraim Flashner
Subject: Re: I managed to build guix natively on Debian GNU/Hurd , what's next?
Date: Sun, 1 Sep 2019 12:32:19 +0300
User-agent: Mutt/1.12.1 (2019-06-15)

On Sun, Sep 01, 2019 at 11:11:56AM +0200, Svante Signell wrote:
> On Sat, 2019-08-31 at 19:27 +0200, Svante Signell wrote:
> 
> I have some further guix/guile questions when building and running guix on
> GHU/Hurd natively
> 
> On the GNU/Hurd image:
> download and unpack guix-1.0.1.tar.gz
> cd guix-1.0.1
> 
> 1) When building guix from source
> ./configure --with-courage --prefix=/usr 2>&1 | tee ../configure-with-
> courage.log
> make 2>&1 | tee ../make.log
> ERROR: In procedure scm-error:
> no code for module (bytestructures guile)
> export GUILE_LOAD_PATH=~/DEBs/scheme-bytestructures/scheme-bytestructures
> The above fixes that error. 
> 
> a) How do I add that module and in which *.scm file?
> 
> 2) Building Hello
> 
> ./pre-inst-env guix build --verbosity=10000 --keep-failed --log-file hello 
> 2>&1
> | tee build-hello-keep+log.log
> 
> a) Where do I find the build log, and where is the failed build directory?
> b) After building the bootstrap tarballs on my GNU/Linux guix image:
> 
> ls /gnu/store/zb89702az7xx3c0y21ip6gsql5fxa8ws-bootstrap-tarballs-0
> binutils-static-stripped-2.31.1-i586-pc-gnu.tar.xz
> gcc-stripped-5.5.0-i586-pc-gnu.tar.xz
> glibc-stripped-2.28-i586-pc-gnu.tar.xz
> guile-static-stripped-2.2.4-i586-pc-gnu.tar.xz
> static-binaries-0-i586-pc-gnu.tar.xz
> 
> and copying them to gnu/packages/bootstrap/i586-pc-gnu/
> - Should they be as is *.xz or unpacked to *.tar or untarred?

As they are, as *.xz

looking at the gnu/packages/bootstrap/aarch64-linux-gnu/ folder, you'll
need a couple of binaries from static-binaries (I think). Make sure they're
executable. They might be from binutils, I don't remember.

> - The manual says: 
> http://guix.gnu.org/manual/en/html_node/Bootstrapping.html#index-bootstrap-binaries-1
> How to make guix find these tarballs?
> 
> http://guix.gnu.org/manual/en/html_node/Porting.html#Porting
> says:
> ...
> Fortunately, Guix can cross compile those bootstrap binaries.
> When everything goes well, and assuming the GNU tool chain supports the
> target platform, this can be as simple as running a command like this
> one:
> 
> guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs
> My change here:
> guix build --target=i586-pc-gnu --no-substitutes bootstrap-tarballs
> 
> For this to work, the glibc-dynamic-linker procedure in
> (gnu packages bootstrap) must be augmented to return the right
> file name for libc’s dynamic linker on that platform; likewise,
> system->linux-architecture in (gnu packages linux) must be
> taught about the new platform.
> 

i586-pc-gnu is already listed in (gnu packages bootstrap), I would skip
(gnu packages linux) for now, the relevant parts seem to be related to
the linux kernel.

> (should probably be changed to (gnu packages gnu) ??)
> 
> Once these are built, the (gnu packages bootstrap) module needs
> to be updated to refer to these binaries on the target platform.
> 
> To which *.scm file to add e.g. (gnu packages bootstrap)?

to (gnu packages bootstrap). The "correct" way to do it is to host it
somewhere and modify %bootstrap-base-urls and the urls for
bootstrap-*-url-path for each of the bootstrap binaries, in actuality,
for testing, you can 'guix download file:///path/to/file' and just
update the bootstrap-*-hash entries with one for your architecture (in
this case, i586-pc). If you use 'guix download' to place them in the
store then you don't need to worry about hosting them because they won't
need to be downloaded.

You'll also need to change some of the references to guile-2.0 to
guile-2.2 in (gnu packages bootstrap) and possibly also in (gnu packages
commencement).

> 
> Thanks!
> 
> 

-- 
Efraim Flashner   <address@hidden>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

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