installed-os test failing

OpenSubmitted by Mathieu Othacehe.
Details
2 participants
  • Ludovic Courtès
  • Mathieu Othacehe
Owner
unassigned
Severity
important
M
M
Mathieu Othacehe wrote on 4 Jun 16:36 +0200
(address . bug-guix@gnu.org)
87img6rj7t.fsf@gnu.org
Hello
The installed-os test is failing because the image closure is (again)bigger than the allocated 1.4GiB in the test partition.
Toggle snippet (3 lines)guix size $(./pre-inst-env guix system build gnu/system/examples/bare-bones.tmpl)
reports 1397.3 MiB.
By reverting this commit 0eed77127592323d89f56c215a15374a1aaae110(introducing an extra glibc to %default-locale-libcs), it drops down to:
1305.5 MiB.
Now multiple options:
* Revert this commit.* Find other system closure improvements.* Up the limit to 1.5GiB.
WDYT?
Thanks,
Mathieu
M
M
Mathieu Othacehe wrote on 4 Jun 18:12 +0200
(address . 41709@debbugs.gnu.org)
87eequres9.fsf@gnu.org
Toggle quote (8 lines)> Now multiple options:>> * Revert this commit.> * Find other system closure improvements.> * Up the limit to 1.5GiB.>> WDYT?
Digging a bit more, I discovered multiple culprits in the image closuresize.
* "openssh" is dragging "xauth" which drags some X libraries (but thisdoes not account for much).
* "sudo" is dragging "python" for about 100MiB.
* "info-reader" is dragging "perl" (and is in fact the same size as"texinfo" because of a mistake that I introduced with614a1e3fa2d731d4719f03912b1b87fb4fd309cb) for about 100MiB.
* The switch to non-canonical version of "glibc" and "coreutils" to fixsystem cross-compilation in dfc8ccbf5da96a67eb1cade499f0def21e7fdb02 isalso responsible for about 100MiB.
All in all, fixing all of this makes the closure size to drop below 1GiBwhich is already a good first step.
I'll try to provide patches soon.
Thanks,
Mathieu
M
M
Mathieu Othacehe wrote on 5 Jun 19:01 +0200
(address . 41709@debbugs.gnu.org)
87mu5hmopy.fsf@gnu.org
Toggle quote (5 lines)> All in all, fixing all of this makes the closure size to drop below 1GiB> which is already a good first step.>> I'll try to provide patches soon.
I also discovered that enabling CONFIG_MODULE_COMPRESS, the size oflinux-libre is reduced by 63%.
This makes the image way lighter.
Toggle snippet (7 lines)/gnu/store/6p01ki4iwdxp2bmlr2n27hfry3hp7yac-guix-1.1.0-6.da1b79f 477.4 278.3 29.5%/gnu/store/158nawzghm4lwm7q7ah8zhh7624fw7zb-locale-2.31 91.9 91.9 9.7%/gnu/store/la3bzdd032892xrm6sq5zz64rzjhp1yg-linux-libre-5.4.44 79.7 79.7 8.4%...total: 943.2 MiB
Now, the big source of improvement could be Guix itself (278MiB withoutdependencies).
I think we can go further!
Thanks,
Mathieu
L
L
Ludovic Courtès wrote on 6 Jun 15:22 +0200
control message for bug #41709
(address . control@debbugs.gnu.org)
878sh0uy5b.fsf@gnu.org
severity 41709 importantquit
L
L
Ludovic Courtès wrote on 6 Jun 15:29 +0200
Re: bug#41709: installed-os test failing
(name . Mathieu Othacehe)(address . othacehe@gnu.org)(address . 41709@debbugs.gnu.org)
87y2p0tja6.fsf@gnu.org
Hi!
Mathieu Othacehe <othacehe@gnu.org> skribis:
Toggle quote (11 lines)> By reverting this commit 0eed77127592323d89f56c215a15374a1aaae110> (introducing an extra glibc to %default-locale-libcs), it drops down to:>> 1305.5 MiB.>> Now multiple options:>> * Revert this commit.> * Find other system closure improvements.> * Up the limit to 1.5GiB.
Let’s just set the ‘locale-libcs’ field in (gnu tests) so that itcontains a single libc. WDYT?
Toggle quote (3 lines)> * "openssh" is dragging "xauth" which drags some X libraries (but this> does not account for much).
Yes, but that’s necessary for “ssh -X”, so I think we consciously madethat choice long ago.
Toggle quote (2 lines)> * "sudo" is dragging "python" for about 100MiB.
Comes from the Python plugin added in452244e670467afe0e8ccdfb9ca2980d5a3b4694. No idea what it buys us.
Toggle quote (4 lines)> * "info-reader" is dragging "perl" (and is in fact the same size as> "texinfo" because of a mistake that I introduced with> 614a1e3fa2d731d4719f03912b1b87fb4fd309cb) for about 100MiB.
Ah would be nice to fix and add a #:disallowed-references flag there!
Toggle quote (4 lines)> * The switch to non-canonical version of "glibc" and "coreutils" to fix> system cross-compilation in dfc8ccbf5da96a67eb1cade499f0def21e7fdb02 is> also responsible for about 100MiB.
Yeah, that’s the price to pay. :-/
Toggle quote (3 lines)> I also discovered that enabling CONFIG_MODULE_COMPRESS, the size of> linux-libre is reduced by 63%.
Woohoo!
Toggle quote (3 lines)> Now, the big source of improvement could be Guix itself (278MiB without> dependencies).
Yep, see my recent message on this topic. :-)
Thanks,Ludo’.
M
M
Mathieu Othacehe wrote on 9 Jun 17:40 +0200
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 41709@debbugs.gnu.org)
87bllsnt6n.fsf@gnu.org
Hey,
Toggle quote (3 lines)> Let’s just set the ‘locale-libcs’ field in (gnu tests) so that it> contains a single libc. WDYT?
I'll see first if I can get the closure smaller by other means. I thinkit would be preferable to keep the tested operating-system as close aspossible to the default one.
Toggle quote (6 lines)>> * "openssh" is dragging "xauth" which drags some X libraries (but this>> does not account for much).>> Yes, but that’s necessary for “ssh -X”, so I think we consciously made> that choice long ago.
Ok, I proposed a work around by introducing openssh-sans-x.
Toggle quote (5 lines)>> * "sudo" is dragging "python" for about 100MiB.>> Comes from the Python plugin added in> 452244e670467afe0e8ccdfb9ca2980d5a3b4694. No idea what it buys us.
Some python bindings to sudo API, but I moved them to a separate"python" output.
Toggle quote (7 lines)>>> * "info-reader" is dragging "perl" (and is in fact the same size as>> "texinfo" because of a mistake that I introduced with>> 614a1e3fa2d731d4719f03912b1b87fb4fd309cb) for about 100MiB.>> Ah would be nice to fix and add a #:disallowed-references flag there!
In fact there were a #:disallowed-references already, but its argumentwas also wrong so it went unnoticed. I fixed all of that on core-updatesbranch.
Toggle quote (7 lines)>>> * The switch to non-canonical version of "glibc" and "coreutils" to fix>> system cross-compilation in dfc8ccbf5da96a67eb1cade499f0def21e7fdb02 is>> also responsible for about 100MiB.>> Yeah, that’s the price to pay. :-/
I'd like to re-introduce "canonical-packages", without breaking thesystem cross-compilation, by using "let-system". See:https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00093.html.

Toggle quote (5 lines)>> Now, the big source of improvement could be Guix itself (278MiB without>> dependencies).>> Yep, see my recent message on this topic. :-)
Yes, thanks for your first analysis :)
Thanks,
Mathieu
?