From mboxrd@z Thu Jan 1 00:00:00 1970 From: Svante Signell Subject: Re: I managed to build guix natively on Debian GNU/Hurd , what's next? Date: Sat, 31 Aug 2019 10:06:15 +0200 Message-ID: <32d67ecf3f8e43cd8d4607287d4c4b57380f47ef.camel@gmail.com> References: <8736hjh7c7.fsf@elephly.net> <5c5233873e372138e82f5d52225e287ee1b86a38.camel@gmail.com> <53512769-C494-42BC-91C2-83B3F1586512@lepiller.eu> <9888a399c79968627aeeebe05419304eca155fd2.camel@gmail.com> <87k1aufiie.fsf@elephly.net> <18bb81c74e24323fb974bc5126a1b94094b3be71.camel@gmail.com> <87ftlifgcm.fsf@elephly.net> Reply-To: svante.signell@gmail.com Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:40509) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i3yOp-00031S-Az for guix-devel@gnu.org; Sat, 31 Aug 2019 04:06:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i3yOo-0001qU-5k for guix-devel@gnu.org; Sat, 31 Aug 2019 04:06:19 -0400 Received: from mail-lj1-x22c.google.com ([2a00:1450:4864:20::22c]:35852) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i3yOn-0001mr-Sl for guix-devel@gnu.org; Sat, 31 Aug 2019 04:06:18 -0400 Received: by mail-lj1-x22c.google.com with SMTP id u15so8507874ljl.3 for ; Sat, 31 Aug 2019 01:06:17 -0700 (PDT) In-Reply-To: <87ftlifgcm.fsf@elephly.net> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ricardo Wurmus Cc: guix-devel On Sat, 2019-08-31 at 00:17 +0200, Ricardo Wurmus wrote: > Svante Signell writes: > > > On Fri, 2019-08-30 at 23:30 +0200, Ricardo Wurmus wrote: > > > Svante Signell writes: > > > > > > > Where to install the bootstrap-binaries: Natively in GNU/Hurd, which > > > > already > > > > hase.g. /bin/tar from the tar package or within Guix on amd64? But > > > > installing > > > > tar to /bin does not find that file, even with setting PATH?? > > > > > > That’s expected. Guix will not use arbitrary binaries that happen to be > > > on PATH. That’s by design. The bootstrap binaries are at the roots of > > > the package graph – changes to them would result in the complete graph > > > to be rebuilt from scratch. > > > > Sorry but the tarballs have files like ./bin/tar Where to unpack them, on > > the > > native Hurd image or the guix one? > > The generated archives are to be placed in the Guix source tree under > gnu/packages/bootstrap/…/. Here: /gnu/store/2b48z82a5bjfkcqhr8d80zq1agiglyx8-guix-1ec29df/gnu/packages/bootstrap or here: /usr/share/guile/site/2.2/gnu/packages/bootstrap/ I assume the first is correct. > > How is that cross-build done? Within the Linux guix image or a Linux amd64 > > image? And cross package build order? > > The order doesn’t matter, because in Guix the order is fixed anyway. > You just build the bootstrap binaries as a single target on your > GNU/Linux host and you’ll end up with all the archives you’ll need to > copy to the Hurd target machine. I issued guix build --target=i586-pc-gnu bootstrap-tarballs in my GNU/Linux Guix image (thanks Julien): uname -a Linux gnu 5.1.2-gnu #1 SMP 1 x86_64 GNU/Linux Everything looked fine until: g++ -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno- variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -DGENERATOR_FILE -static-libstdc++ -static-libgcc -o build/genattrtab \ build/genattrtab.o build/rtl.o build/read-rtl.o build/ggc-none.o build/vec.o build/min-insn-modes.o build/gensupport.o build/print-rtl.o build/read-md.o build/errors.o ../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a build/genattrtab ../../gcc-5.5.0/gcc/common.md ../../gcc- 5.5.0/gcc/config/i386/i386.md insn-conditions.md \ -Atmp-attrtab.c -Dtmp-dfatab.c -Ltmp-latencytab.c make[2]: *** [Makefile:2156: s-attrtab] Killed make[2]: Leaving directory '/tmp/guix-build-gcc-cross-sans-libc-i586-pc-gnu- 5.5.0.drv-0/build/gcc' make[1]: *** [Makefile:4095: all-gcc] Error 2 make[1]: Leaving directory '/tmp/guix-build-gcc-cross-sans-libc-i586-pc-gnu- 5.5.0.drv-0/build' make: *** [Makefile:853: all] Error 2 Backtrace: 4 (primitive-load "/gnu/store/745pxg9235s6x3szcxim8xs03fp…") In ice-9/eval.scm: 191:35 3 (_ _) In srfi/srfi-1.scm: 863:16 2 (every1 # …) In /gnu/store/ihzxrhpzk15qvz4bjibymj9qniifnxdf-module-import/guix/build/gnu- build-system.scm: 799:28 1 (_ _) In /gnu/store/ihzxrhpzk15qvz4bjibymj9qniifnxdf-module- import/guix/build/utils.scm: 616:6 0 (invoke _ . _) ... which g++ /home/guest/.guix-profile/bin/g++ /home/guest/.guix-profile/bin/g++ --version g++ (GCC) 9.1.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. What should be modified to build a newer version of gcc? Any ideas?