From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:38577) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iZdrk-0001ge-Bk for guix-patches@gnu.org; Tue, 26 Nov 2019 11:39:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iZdri-000391-DJ for guix-patches@gnu.org; Tue, 26 Nov 2019 11:39:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:46849) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iZdrh-00038Y-Ux for guix-patches@gnu.org; Tue, 26 Nov 2019 11:39:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iZdrh-0004a3-Sh for guix-patches@gnu.org; Tue, 26 Nov 2019 11:39:01 -0500 Subject: [bug#38390] [core-updates] Scheme-only bootstrap: merge wip-bootstrap Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:38510) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iZdrR-0001Yw-GY for guix-patches@gnu.org; Tue, 26 Nov 2019 11:38:46 -0500 From: Jan Nieuwenhuizen Date: Tue, 26 Nov 2019 17:38:39 +0100 Message-ID: <87tv6qoank.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 38390@debbugs.gnu.org Cc: Timothy Sample Hi! With the release of Mes 0.21, the wip-bootstrap branch is ready for a first review. This is a big one, so I am opening this bug to discuss and keep track of things. Please note that wip-bootstrap uses development snapshots of Gash and Gash Core Utils; we still expect some changes here and probably hard resets of `wip-bootstrap'. Gash has now reached pretty good posix compliance, which really helps to run configure scripts and sh snippets in autotool-generated Makefiles. Gash Core Utils currently comes with [, awk, basename, cat, chmod, cmp, compress, cp, cut, diff, dirname, egrep, expr, false, fgrep, find, gawk, grep, gzip, head, ln, ls, mkdir, mv, pwd, reboot, rm, rmdir, sed, sleep, sort, tar, test, touch, tr, true, uname, uniq, wc, and which. that in comparison with Gash are much flakier. While basic functionality is generally OK, most Gash tools cannot be used to bootstrap the entire system yet. This holds especially for awk, grep, and sed. Between autoconf 2.61 (2006) and autoconf-2.63 (2008), much functionality that was written in sed was moved to awk. The NEWS file states performance reasons. Gash's sed is much mature than Gash's awk, so currently it makes sense to target C versions of around 2004. However, some of the 2004 C tools are not good enough anymore to bootstrap the entire system; so we need a second round for them. The Mes C Library is another constraint. With Mes 0.21 it gained support for many early C tools; but more recent tools have C library requirements that are not yet covered. Another thing to note is that we do not have bzip2, lzip or xz and that after 2009 some crucial tools (coreutils, diffutils, grep, sed, ...) start shipping .xz or .lz tarballs only. While bzip2 can be built early in the bootstrap, I only managed to build xz with a fairly recent gcc (4.6). Even with these considerations, there still is quite some room to change build order and versions of the C versions of coreutils&co. The current choices are mostly made by "what works". We could invest in fixing Gash's awk or sed or enrich the Mes C library or ..., if that seems a helpful thing to do. When we manage to merge this, we will have halved the bootstrap seed again, reducing the bootstrap seed to under 60MB. --8<---------------cut here---------------start------------->8--- 10:40:02 janneke@dundal:~/tmp [env] $ cd guix-sob/ 10:40:04 janneke@dundal:~/tmp/guix-sob [env] $ du -schx $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bo= otstrap-tarballs)/*) 388K /gnu/store/49giv6b94zbv2pjl6a9ycgy5ny9x3jbc-gash-bootstrap-guile-tarba= ll-0.1-9.32188ac/gash-bootstrap-guile-0.1-9.32188ac-x86_64-linux.tar.xz 5.7M /gnu/store/47qxvqs7rm7agdp86lxr2jzvval5hkqc-guile-static-stripped-tarb= all-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz 80K /gnu/store/l6m2rmqs31mc9w7rl99xxl6m35x7fg6v-linux-libre-headers-strippe= d-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz 280K /gnu/store/gnz5mlnzcb0nkaiyad5smblalfjvi8xc-mescc-tools-static-strippe= d-tarball-0.6.1/mescc-tools-static-stripped-0.6.1-x86_64-linux.tar.xz 352K /gnu/store/p32p46x5iic0sff2wcf5gilddvfibb19-mes-minimal-stripped-tarba= ll-0.21/mes-minimal-stripped-0.21-x86_64-linux.tar.xz 6.7M total 10:40:14 janneke@dundal:~/tmp/guix-sob [env] $ for i in $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bo= otstrap-tarballs)/*); do sudo tar xf $i; done 10:45:29 janneke@dundal:~/tmp/guix-sob [env] $ du -schx * 6.2M bin 988K include 42M lib 8.3M share 58M total --8<---------------cut here---------------end--------------->8--- Just when I thought the branch was functionally done; I already found one small problem; I have pushed this ugly workaround --8<---------------cut here---------------start------------->8--- bootstrap: ACL: disable tests. FIXME: LD_PRELOAD. Running ./pre-inst-env build hello fails to build acl: ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib= testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~ ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib= testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~ ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib= testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~ ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib= testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~ [7] $ rm large-file -- failed ERROR: ld.so: object '/tmp/guix-build-acl-2.2.53.drv-0/acl-2.2.53/.libs/lib= testlookup.so' from LD_PRELOAD cannot be preloaded: ignored. !=3D ~ 4 commands (2 passed, 2 failed) FAIL test/getfacl-lfs.test (exit status: 2) * gnu/packages/acl.scm (acl): Disable tests. --8<---------------cut here---------------end--------------->8--- It looks like a coreutils is getting built with a too early bootstrap gcc/glibc, but I could use some help here. Greetings, janneke --=20 Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar=C2=AE http://AvatarAcademy.com