From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: I managed to build guix natively on Debian GNU/Hurd , what's next? Date: Sat, 31 Aug 2019 14:12:25 +0200 Message-ID: <87ef11fs9i.fsf@elephly.net> 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> <32d67ecf3f8e43cd8d4607287d4c4b57380f47ef.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:49621) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i42FH-0006fs-6J for guix-devel@gnu.org; Sat, 31 Aug 2019 08:12:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i42FE-0003VK-Kk for guix-devel@gnu.org; Sat, 31 Aug 2019 08:12:43 -0400 Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21337) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1i42FE-0003Pg-B9 for guix-devel@gnu.org; Sat, 31 Aug 2019 08:12:40 -0400 In-reply-to: <32d67ecf3f8e43cd8d4607287d4c4b57380f47ef.camel@gmail.com> 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: svante.signell@gmail.com Cc: guix-devel Svante Signell writes: > On Sat, 2019-08-31 at 00:17 +0200, Ricardo Wurmus wrote: >> Svante Signell writes: >>=20 >> > On Fri, 2019-08-30 at 23:30 +0200, Ricardo Wurmus wrote: >> > > Svante Signell writes: >> > >=20 >> > > > Where to install the bootstrap-binaries: Natively in GNU/Hurd, whi= ch >> > > > 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?? >> > >=20 >> > > That=E2=80=99s expected. Guix will not use arbitrary binaries that = happen to be >> > > on PATH. That=E2=80=99s by design. The bootstrap binaries are at t= he roots of >> > > the package graph =E2=80=93 changes to them would result in the comp= lete graph >> > > to be rebuilt from scratch. >> >=20 >> > Sorry but the tarballs have files like ./bin/tar Where to unpack them,= on >> > the >> > native Hurd image or the guix one? >>=20 >> The generated archives are to be placed in the Guix source tree under >> gnu/packages/bootstrap/=E2=80=A6/. > > Here: > /gnu/store/2b48z82a5bjfkcqhr8d80zq1agiglyx8-guix-1ec29df/gnu/packages/boo= tstrap=20 > > 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 a= md64 >> > image? And cross package build order? >>=20 >> The order doesn=E2=80=99t matter, because in Guix the order is fixed any= way. >> You just build the bootstrap binaries as a single target on your >> GNU/Linux host and you=E2=80=99ll end up with all the archives you=E2=80= =99ll need to >> copy to the Hurd target machine. > > I issued guix build --target=3Di586-pc-gnu bootstrap-tarballs in my GNU/L= inux 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 -Wca= st-qual=20 > -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 buil= d/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 [=E2=80=A6] > which g++ > /home/guest/.guix-profile/bin/g++ This is not the GCC that=E2=80=99s used by Guix to build things. See also = that during the build GCC 5.5.0 is used, not version 9.x. What you have installed has no impact on the build environment that Guix uses. This is by design. --=20 Ricardo