guix-devel
[Top][All Lists]
Advanced

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

Status update+patches:Re: I managed to build guix natively on Debian GNU


From: Svante Signell
Subject: Status update+patches:Re: I managed to build guix natively on Debian GNU/Hurd , what's next?
Date: Tue, 03 Sep 2019 14:07:46 +0200
User-agent: Evolution 3.30.5-1.1

On Sun, 2019-09-01 at 20:01 +0200, Svante Signell wrote:
...

I think it is time to wrap up a little now on the Hurd port.
Attached are patches I made. Save for some indentation misses.
gnu_local.mk.diff                guix_scripts_perform-download.scm.diff
gnu_packages_bootstrap.scm.diff  nix_libstore_build.cc.diff
guix_build_syscalls.scm.diff

guix_scripts_perform-download.scm.diff and nix_libstore_build.cc.diff
are temporary fixes enable to downloads as root.

guix_build_syscalls.scm.diff should be made conditional on (set-thread-name
name) for Linux and non-Linux. Don't know too much scheme coding yet.

gnu_local.mk.diff and gnu_package_bootstrap.scm.diff
are essentially the same as Ricardo Wurmus made. I used my cross-built files
though:
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

The guix-daemon was started by:
./pre-inst-env ./guix-daemon --debug --disable-chroot --no-substitutes

Found out that the built static xz binary was erroring out:
Error creating a pipe: Function not implemented
so I replaced it with the native dynamically built xz, both at
gnu/packages/bootstrap/i586-gnu and in static-binaries-0-i586-pc-gnu.tar.xz.

That made ./pre-inst-env guix build -S hello work.

Then I continued with as Richardo wrote:
./pre-inst-env  guix build -e '(@@ (gnu packages commencement) 
gnu-make-boot0))' 
2>&1 | tee ../pre-inst-env_guix-build-e-no-chroot_new-hash.log
The build went a lot further, but failed here:
 
successfully built /gnu/store/6sybpxd8hy07h4fqf4wyblxrsi17r4zn-gcc-bootstrap-
0.drv
building /gnu/store/h0y1izzm1nxr3gqwagg84dnssa723sby-make-4.2.1.tar.xz.drv...
builder for `/gnu/store/h0y1izzm1nxr3gqwagg84dnssa723sby-make-4.2.1.tar.xz.drv'
failed with exit code 1
build of /gnu/store/h0y1izzm1nxr3gqwagg84dnssa723sby-make-4.2.1.tar.xz.drv
failed
View build log at '/usr/var/log/guix/drvs/h0/y1izzm1nxr3gqwagg84dnssa723sby-
make-4.2.1.tar.xz.drv.gz'.
cannot build derivation `/gnu/store/j18911vbapx9kx0gqcyn6nkd3bwz52lj-make-boot0-
4.2.1.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/j18911vbapx9kx0gqcyn6nkd3bwz52lj-make-
boot0-4.2.1.drv' failed

Unfortunately the build log is empty.

I also replaced tar at gnu/packages/bootstrap/i586-gnu and in static-binaries-0-
i586-pc-gnu.tar.xz but did not get any further.

The cross-built xz is definitely buggy, I don't know about the other files at:
gnu/packages/bootstrap/i586-gnu: bash mkdir tar xz

Maybe there are other buggy cross-built binaries.

A question: The gcc used is very old: 5.5.0, is i possible that guix could
upgrade to a newer version, preferrably later than gcc-7.

Additionally, it would maybe better to create static binaries built natively on
GNU/Hurd instead of using cross-building? I also tried to build the cross-files
natively but failed:

./pre-inst-env guix build --no-grafts --target=i586-pc-gnu -e '(@@ (gnu packages
make-bootstrap) %static-inputs)' 2>&1 | tee ../rebuild-static-cross-files.log
guix build: error: ("tar" #<package tar@1.30 guix/build-system/gnu.scm:169
114fb790>): not something we can build

Is it possible to modify gnu/packages/make-bootstrap.scm to make this succeed?

Thanks everybody on #guix for your help.

Attachment: gnu_local.mk.diff
Description: Text Data

Attachment: gnu_packages_bootstrap.scm.diff
Description: Text Data

Attachment: guix_scripts_perform-download.scm.diff
Description: Text Data

Attachment: nix_libstore_build.cc.diff
Description: Text Data

Attachment: guix_build_syscalls.scm.diff
Description: Text Data


reply via email to

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