From: Tomas Volf <~@wolfsden.cz>
To: chris <chris@bumblehead.com>
Cc: help-guix@gnu.org
Subject: Re: help using guix size command w/ local file definition
Date: Sun, 31 Mar 2024 13:47:20 +0200 [thread overview]
Message-ID: <ZglNSPOOgVxqdAKt@ws> (raw)
In-Reply-To: <ZgiBP10DYrOz6ooS@guix-xps>
[-- Attachment #1: Type: text/plain, Size: 5218 bytes --]
Hello,
On 2024-03-30 14:16:47 -0700, chris wrote:
> How does one use `guix size` with a local file package definition?
>
> I have copied the `vifm` package definition here to a local file https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/vim.scm?id=master#n916
>
> Using `guix size --load-path` as described here fails https://guix.gnu.org/manual/en/html_node/Invoking-guix-size.html
> ```
> $ guix size --load-path=$HOME/software/vifm-local/ vifm-local
> guix size: error: no available substitute information for '/gnu/store/vx189rcgy4b8lw1acw14cki9lm4jz9jn-vifm-local-0.13'
> $ guix size --substitute-urls="" --load-path=$HOME/software/vifm-local/ vifm-local
> guix size: error: no available substitute information for '/gnu/store/vx189rcgy4b8lw1acw14cki9lm4jz9jn-vifm-local-0.13'
> ```
The package needs to be built first:
/tmp/xxx $ guix size -L . vifm-local
guix size: error: no available substitute information for '/gnu/store/rhvkgakmmf11lpz5jhpciyzramwd69vf-vifm-local-0.13'
/tmp/xxx $ guix build --verbosity=0 -L . vifm-local
/gnu/store/92xlmlc0m74flrj8jmwfjhx75xada8ad-vifm-local-0.13
/tmp/xxx $ guix size -L . vifm-local
store item total self
/gnu/store/lj75fc25zx2y9pqvfp95la84rdhlj4f8-perl-5.36.0 152.2 59.4 34.9%
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35 40.6 38.8 22.8%
/gnu/store/930nwsiysdvy2x5zv1sf6v7ym75z8ayk-gcc-11.3.0-lib 75.3 34.7 20.4%
/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1 91.8 16.5 9.7%
/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44 85.8 8.1 4.8%
/gnu/store/bcc053jvsbspdjr17gnnd9dg85b3a0gy-ncurses-6.2.20210619 81.2 5.9 3.5%
/gnu/store/rhvkgakmmf11lpz5jhpciyzramwd69vf-vifm-local-0.13 170.3 2.7 1.6%
/gnu/store/zzyywykw7kriln18rxqd82f0k5kidla7-bash-static-5.1.16 1.8 1.8 1.1%
/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8 77.7 1.4 0.8%
/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16 41.6 1.0 0.6%
total: 170.3 MiB
The error message might be a bit misleading, especially with the empty
substitute urls.
>
> Another question, as guix's vifm input list includes `libx11`, shouldn't x11 appear in the size listing?
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/vim.scm?id=master#n916
> ```
> $ guix size vifm
> store item total self
> /gnu/store/lj[...]f8-perl-5.36.0 152.2 59.4 34.9%
> /gnu/store/gs[...]i3-glibc-2.35 40.6 38.8 22.8%
> /gnu/store/93[...]yk-gcc-11.3.0-lib 75.3 34.7 20.4%
> /gnu/store/a5[...]5c-coreutils-9.1 91.8 16.5 9.7%
> /gnu/store/gr[...]hq-file-5.44 85.8 8.1 4.8%
> /gnu/store/bc[...]gy-ncurses-6.2.20210619 81.2 5.9 3.5%
> /gnu/store/gz[...]vg-vifm-0.13 170.3 2.7 1.6%
> /gnu/store/zz[...]a7-bash-static-5.1.16 1.8 1.8 1.1%
> /gnu/store/6k[...]wj-xz-5.2.8 77.7 1.4 0.8%
> /gnu/store/ri[...]4k-bash-minimal-5.1.16 41.6 1.0 0.6%
> total: 170.3 MiB
> ```
>
The libx11 is present in the inputs, but since vifm defaults to dynamic loading
of it using dlopen, the store path is not present in the output binary and
therefore libx11 is not detected as dependency (I assume).
When you add "--with-dyn-X11=no" to #:configure-flags, the size output changes
to:
store item total self
/gnu/store/lj75fc25zx2y9pqvfp95la84rdhlj4f8-perl-5.36.0 152.2 59.4 33.7%
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35 40.6 38.8 22.0%
/gnu/store/930nwsiysdvy2x5zv1sf6v7ym75z8ayk-gcc-11.3.0-lib 75.3 34.7 19.7%
/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1 91.8 16.5 9.4%
/gnu/store/gr0sy0m1mv36qv54idm6cn10l3mngshq-file-5.44 85.8 8.1 4.6%
/gnu/store/bcc053jvsbspdjr17gnnd9dg85b3a0gy-ncurses-6.2.20210619 81.2 5.9 3.4%
/gnu/store/7zgm9y6n8m4isq12iw7izyn5g6z5m5w7-libxcb-1.15 78.5 3.0 1.7%
/gnu/store/zyry5d5r6lf2vcffcjwspfnfzh04dil9-vifm-local-0.13 176.1 2.7 1.5%
/gnu/store/87rsx9bv801pmspv64hrnxzcjg1fahi5-libx11-1.8.7 81.2 2.7 1.5%
/gnu/store/zzyywykw7kriln18rxqd82f0k5kidla7-bash-static-5.1.16 1.8 1.8 1.0%
/gnu/store/6k1yys9wqrfn4y41ic1win8gpnimncwj-xz-5.2.8 77.7 1.4 0.8%
/gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16 41.6 1.0 0.6%
/gnu/store/qijsw76w8l0zz9k0j3vaal488ixy3w8f-libxdmcp-1.1.3 75.4 0.1 0.1%
/gnu/store/q6i6mc09sbklfnv3jbi22mnzbl0wilzx-libxau-1.0.10 75.3 0.0 0.0%
total: 176.1 MiB
Which seems to be what you expected. I know nothing about this packages, but my
guess would be this is just a packaging error instead of intentional
optimization (~6MiB do not really matter IMO).
Hope this helps,
Tomas
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-03-31 11:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-30 21:16 help using guix size command w/ local file definition chris
2024-03-31 11:47 ` Tomas Volf [this message]
2024-04-02 4:32 ` chris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZglNSPOOgVxqdAKt@ws \
--to=~@wolfsden.cz \
--cc=chris@bumblehead.com \
--cc=help-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).