Hi, Last weekend I have been preparing my v9 patch set for the Mingw32 Guile cross build, incorporating all comments that I got on v8 (thanks Andy and Ludovic!).
I rebased onto latest master and made a script running some tests on every single commit of the series, only to find out that after rebasing, readline did not cross build anymore. Since then I got somewhat closer but still do not understand what's going on. When I revert commit 28dc10a455689c807abc9241ed1094d902a9d9fa Author: Ludovic Courtès <l...@gnu.org> Date: Sun May 29 23:15:14 2016 +0200 gnu: glibc: Refer to the target kernel headers when cross-compiling. ... diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index beb689e..b5e229e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -532,7 +532,10 @@ store.") ,version) (string-append "--with-headers=" - (assoc-ref %build-inputs "linux-headers") + (assoc-ref ,(if (%current-target-system) + '%build-target-inputs + '%build-inputs) + "linux-headers") "/include") ;; This is the default for most architectures as of GNU libc 2.21, then readline (and guile) can be cross-built for mingw. However, with this commit present, when cross building readline on my v9 branch (https://gitlab.com/janneke/guix) like so: ./pre-inst-env guix build --target=i686-w64-mingw32 readline this now triggers the build of gcc-cross-sans-libc-x86_64-linux-gnu and gcc-x86_64-linux-gnu. Building gcc-cross-sans-libc-x86_64-linux-gnu failed. I added a commit to disable some libraries + "--disable-libvtv" ;x86_64-linux: needs libc + "--disable-libitm" ;x86_64-linux: needs libc + "--disable-libsanitizer" ;x86_64-linux: needs libc and then both these cross compilers build. After that, still triggered by the readline cross buld, it fails trying to cross build make-boot0, like so @ build-started /gnu/store/m6gq2xz5kd3vn4zm1i0i6j0immlgyhmg-make-boot0-4.1.drv - x86_64-linux /var/log/guix/drvs/m6//gq2xz5kd3vn4zm1i0i6j0immlgyhmg-make-boot0-4.1.drv.bz2 ... starting phase `install-locale' warning: failed to install 'en_US.utf8' locale: Invalid argument phase `install-locale' succeeded after 0.0 seconds starting phase `unpack' In execvp of tar: No such file or directory phase `unpack' failed after 0.0 seconds builder for `/gnu/store/m6gq2xz5kd3vn4zm1i0i6j0immlgyhmg-make-boot0-4.1.drv' failed with exit code 1 @ build-failed /gnu/store/m6gq2xz5kd3vn4zm1i0i6j0immlgyhmg-make-boot0-4.1.drv - 1 builder for `/gnu/store/m6gq2xz5kd3vn4zm1i0i6j0immlgyhmg-make-boot0-4.1.drv' failed with exit code 1 cannot build derivation `/gnu/store/1fjnm2x2az4z4qaz3bad5p5zbygf5wqs-gcc-cross-boot0-4.9.3.drv': 1 dependencies couldn't be built guix build: error: build failed: build of `/gnu/store/1fjnm2x2az4z4qaz3bad5p5zbygf5wqs-gcc-cross-boot0-4.9.3.drv' failed I don't know what direction to go now. Is this package also supposed to be built or not? Why does it fail, should it be fixed? Should the x86_64 gcc cross compilers get built, or maybe not? Why do they fail? etc. Any help much appreciated. Greetings, Jan -- Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl