unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
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 --]

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