|
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.
gnu_local.mk.diff
Description: Text Data
gnu_packages_bootstrap.scm.diff
Description: Text Data
guix_scripts_perform-download.scm.diff
Description: Text Data
nix_libstore_build.cc.diff
Description: Text Data
guix_build_syscalls.scm.diff
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |