[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: help using guix size command w/ local file definition
From: |
Tomas Volf |
Subject: |
Re: help using guix size command w/ local file definition |
Date: |
Sun, 31 Mar 2024 13:47:20 +0200 |
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.
signature.asc
Description: PGP signature