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: Sun, 01 Sep 2019 11:11:56 +0200 Message-ID: <60498ff6153c81ffa586c9088e35f2e403270827.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> <32d67ecf3f8e43cd8d4607287d4c4b57380f47ef.camel@gmail.com> <87ef11fs9i.fsf@elephly.net> <30bdaa745f0a41617e0e81fc6bc63b1228dab729.camel@gmail.com> 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]:60767) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i4Ltx-0005Fb-8v for guix-devel@gnu.org; Sun, 01 Sep 2019 05:12:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i4Ltv-0001C6-V0 for guix-devel@gnu.org; Sun, 01 Sep 2019 05:12:01 -0400 Received: from mail-lj1-x242.google.com ([2a00:1450:4864:20::242]:37096) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i4Ltv-0001BM-MN for guix-devel@gnu.org; Sun, 01 Sep 2019 05:11:59 -0400 Received: by mail-lj1-x242.google.com with SMTP id t14so10199442lji.4 for ; Sun, 01 Sep 2019 02:11:58 -0700 (PDT) In-Reply-To: <30bdaa745f0a41617e0e81fc6bc63b1228dab729.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: Ricardo Wurmus Cc: guix-devel On Sat, 2019-08-31 at 19:27 +0200, Svante Signell wrote: I have some further guix/guile questions when building and running guix on GHU/Hurd natively On the GNU/Hurd image: download and unpack guix-1.0.1.tar.gz cd guix-1.0.1 1) When building guix from source ./configure --with-courage --prefix=/usr 2>&1 | tee ../configure-with- courage.log make 2>&1 | tee ../make.log ERROR: In procedure scm-error: no code for module (bytestructures guile) export GUILE_LOAD_PATH=~/DEBs/scheme-bytestructures/scheme-bytestructures The above fixes that error. a) How do I add that module and in which *.scm file? 2) Building Hello ./pre-inst-env guix build --verbosity=10000 --keep-failed --log-file hello 2>&1 | tee build-hello-keep+log.log a) Where do I find the build log, and where is the failed build directory? b) After building the bootstrap tarballs on my GNU/Linux guix image: ls /gnu/store/zb89702az7xx3c0y21ip6gsql5fxa8ws-bootstrap-tarballs-0 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 and copying them to gnu/packages/bootstrap/i586-pc-gnu/ - Should they be as is *.xz or unpacked to *.tar or untarred? - The manual says: http://guix.gnu.org/manual/en/html_node/Bootstrapping.html#index-bootstrap-binaries-1 How to make guix find these tarballs? http://guix.gnu.org/manual/en/html_node/Porting.html#Porting says: ... Fortunately, Guix can cross compile those bootstrap binaries. When everything goes well, and assuming the GNU tool chain supports the target platform, this can be as simple as running a command like this one: guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs My change here: guix build --target=i586-pc-gnu --no-substitutes bootstrap-tarballs For this to work, the glibc-dynamic-linker procedure in (gnu packages bootstrap) must be augmented to return the right file name for libc’s dynamic linker on that platform; likewise, system->linux-architecture in (gnu packages linux) must be taught about the new platform. (should probably be changed to (gnu packages gnu) ??) Once these are built, the (gnu packages bootstrap) module needs to be updated to refer to these binaries on the target platform. To which *.scm file to add e.g. (gnu packages bootstrap)? Thanks!