help-guix
[Top][All Lists]
Advanced

[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.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]