all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* fixing --check saying outputs not valid
@ 2017-09-08  9:34 Dave Love
  2017-09-08 20:56 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Love @ 2017-09-08  9:34 UTC (permalink / raw)
  To: help-guix

I ran build --check on a new package and it complained that some output
of the derivation aren't valid.  Then I checked hwloc, which also has a
"lib" output and it has the same problem:

  guix build: error: build failed: some outputs of `/gnu/store/bsafscmmaw43ssb0lhnri3vdi0wi0chx-hwloc-1.11.7.drv' are not valid, so checking is not possible

With --verbosity=4, it looks as if that's due to

  |   |   path `/gnu/store/fsch2h9r8jp3c5ahs0b0mr8pr4yp4l3q-hwloc-1.11.7-lib' is required, but there is no substituter that can build it

How could I fix that?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fixing --check saying outputs not valid
  2017-09-08  9:34 fixing --check saying outputs not valid Dave Love
@ 2017-09-08 20:56 ` Ludovic Courtès
  2017-09-11 10:31   ` Dave Love
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2017-09-08 20:56 UTC (permalink / raw)
  To: Dave Love; +Cc: help-guix

Dave Love <fx@gnu.org> skribis:

> I ran build --check on a new package and it complained that some output
> of the derivation aren't valid.  Then I checked hwloc, which also has a
> "lib" output and it has the same problem:
>
>   guix build: error: build failed: some outputs of `/gnu/store/bsafscmmaw43ssb0lhnri3vdi0wi0chx-hwloc-1.11.7.drv' are not valid, so checking is not possible
>
> With --verbosity=4, it looks as if that's due to
>
>   |   |   path `/gnu/store/fsch2h9r8jp3c5ahs0b0mr8pr4yp4l3q-hwloc-1.11.7-lib' is required, but there is no substituter that can build it
>
> How could I fix that?

To run --check, you must first already have the store item(s) available.

So you would first run:

  guix build hwloc

which will ensure both hwloc and hwloc:lib are in your store, possibly
by downloading substitutes.

Then you can run “guix build hwloc --check -L --no-grafts”, which will
build hwloc locally and raise an error if hwloc:{out,lib} are not
bit-identical to what you had in store.

Makes sense?

(The “--no-grafts” part is because what you care about is the actual
build of hwloc, not the grafting derivation.)

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fixing --check saying outputs not valid
  2017-09-08 20:56 ` Ludovic Courtès
@ 2017-09-11 10:31   ` Dave Love
  2017-09-11 12:14     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Love @ 2017-09-11 10:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix

Ludovic Courtès <ludo@gnu.org> writes:

> To run --check, you must first already have the store item(s) available.
>
> So you would first run:
>
>   guix build hwloc
>
> which will ensure both hwloc and hwloc:lib are in your store, possibly
> by downloading substitutes.
>
> Then you can run “guix build hwloc --check -L --no-grafts”, which will
> build hwloc locally and raise an error if hwloc:{out,lib} are not
> bit-identical to what you had in store.

[Should that be documented as the procedure to use?]

The trouble is that I don't get a second build with --check:

  $ ./pre-inst-env guix build hwloc --check -L --no-grafts
  guile: warning: failed to install locale
  warning: failed to install locale: Invalid argument
  @ build-started /gnu/store/7d2lk82ak7n0awbr1k5bllwfc43dicsl-hwloc-1.11.8.drv - x86_64-linux /var/log/guix/drvs/7d//2lk82ak7n0awbr1k5bllwfc43dicsl-hwloc-1.11.8.drv.bz2
  grafting '/gnu/store/n2l4ryq1572wnfh4yxljjbh2q40v6jr0-hwloc-1.11.8-debug' -> '/gnu/store/dgfpcmkx7wzxjj3d1q6l5dmzjr9z6wz5-hwloc-1.11.8-debug'...
  grafting '/gnu/store/hf6k2i6aqqs50p181bs1aa7xw49kd6xn-hwloc-1.11.8-lib' -> '/gnu/store/jrxiynx443d894and51pa8bylaib0bkc-hwloc-1.11.8-lib'...
  grafting '/gnu/store/f969ab3pfvgn28xc812h97jsyif2z5vs-hwloc-1.11.8' -> '/gnu/store/2mind69xpdx8wv6ixmjix0f12dd2qb2v-hwloc-1.11.8'...
  /gnu/store/dgfpcmkx7wzxjj3d1q6l5dmzjr9z6wz5-hwloc-1.11.8-debug
  /gnu/store/jrxiynx443d894and51pa8bylaib0bkc-hwloc-1.11.8-lib
  /gnu/store/2mind69xpdx8wv6ixmjix0f12dd2qb2v-hwloc-1.11.8

> Makes sense?
>
> (The “--no-grafts” part is because what you care about is the actual
> build of hwloc, not the grafting derivation.)
>
> Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fixing --check saying outputs not valid
  2017-09-11 10:31   ` Dave Love
@ 2017-09-11 12:14     ` Ludovic Courtès
  2017-09-13 13:27       ` Dave Love
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2017-09-11 12:14 UTC (permalink / raw)
  To: Dave Love; +Cc: help-guix

Dave Love <fx@gnu.org> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> To run --check, you must first already have the store item(s) available.
>>
>> So you would first run:
>>
>>   guix build hwloc
>>
>> which will ensure both hwloc and hwloc:lib are in your store, possibly
>> by downloading substitutes.
>>
>> Then you can run “guix build hwloc --check -L --no-grafts”, which will
>> build hwloc locally and raise an error if hwloc:{out,lib} are not
>> bit-identical to what you had in store.
>
> [Should that be documented as the procedure to use?]

I think this is documented, but if you think it’s not or not in the
right place, please tell!

> The trouble is that I don't get a second build with --check:
>
>   $ ./pre-inst-env guix build hwloc --check -L --no-grafts
                                              ^^^^
“--no-grafts” is taken as an argument to ‘-L’, and thus you only rebuilt
the grafting derivation:

>   @ build-started /gnu/store/7d2lk82ak7n0awbr1k5bllwfc43dicsl-hwloc-1.11.8.drv - x86_64-linux /var/log/guix/drvs/7d//2lk82ak7n0awbr1k5bllwfc43dicsl-hwloc-1.11.8.drv.bz2
>   grafting '/gnu/store/n2l4ryq1572wnfh4yxljjbh2q40v6jr0-hwloc-1.11.8-debug' -> '/gnu/store/dgfpcmkx7wzxjj3d1q6l5dmzjr9z6wz5-hwloc-1.11.8-debug'...
>   grafting '/gnu/store/hf6k2i6aqqs50p181bs1aa7xw49kd6xn-hwloc-1.11.8-lib' -> '/gnu/store/jrxiynx443d894and51pa8bylaib0bkc-hwloc-1.11.8-lib'...
>   grafting '/gnu/store/f969ab3pfvgn28xc812h97jsyif2z5vs-hwloc-1.11.8' -> '/gnu/store/2mind69xpdx8wv6ixmjix0f12dd2qb2v-hwloc-1.11.8'...
>   /gnu/store/dgfpcmkx7wzxjj3d1q6l5dmzjr9z6wz5-hwloc-1.11.8-debug
>   /gnu/store/jrxiynx443d894and51pa8bylaib0bkc-hwloc-1.11.8-lib
>   /gnu/store/2mind69xpdx8wv6ixmjix0f12dd2qb2v-hwloc-1.11.8

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fixing --check saying outputs not valid
  2017-09-11 12:14     ` Ludovic Courtès
@ 2017-09-13 13:27       ` Dave Love
  2017-09-14  8:18         ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Dave Love @ 2017-09-13 13:27 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix

Ludovic Courtès <ludo@gnu.org> writes:

> Dave Love <fx@gnu.org> skribis:
>>> Then you can run “guix build hwloc --check -L --no-grafts”, which will
>>> build hwloc locally and raise an error if hwloc:{out,lib} are not
>>> bit-identical to what you had in store.
>>
>> [Should that be documented as the procedure to use?]
>
> I think this is documented, but if you think it’s not or not in the
> right place, please tell!

I don't remember where I found out about using --check when packaging.
The manual doesn't mention --no-grafts in connexion with --check as far
as I can see.  I'd add something like

  You probably want to use --check with the --no-grafts option when
  checking a package you are developing, so that it gets rebuilt.

>> The trouble is that I don't get a second build with --check:
>>
>>   $ ./pre-inst-env guix build hwloc --check -L --no-grafts
>                                               ^^^^
> “--no-grafts” is taken as an argument to ‘-L’, and thus you only rebuilt
> the grafting derivation:

Thanks.  I shouldn't just do what I'm told :-/.  However, I don't
understand why -L is needed, or what the path should be.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: fixing --check saying outputs not valid
  2017-09-13 13:27       ` Dave Love
@ 2017-09-14  8:18         ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2017-09-14  8:18 UTC (permalink / raw)
  To: Dave Love; +Cc: help-guix

Dave Love <fx@gnu.org> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Dave Love <fx@gnu.org> skribis:
>>>> Then you can run “guix build hwloc --check -L --no-grafts”, which will
>>>> build hwloc locally and raise an error if hwloc:{out,lib} are not
>>>> bit-identical to what you had in store.
>>>
>>> [Should that be documented as the procedure to use?]
>>
>> I think this is documented, but if you think it’s not or not in the
>> right place, please tell!
>
> I don't remember where I found out about using --check when packaging.
> The manual doesn't mention --no-grafts in connexion with --check as far
> as I can see.  I'd add something like
>
>   You probably want to use --check with the --no-grafts option when
>   checking a package you are developing, so that it gets rebuilt.
>
>>> The trouble is that I don't get a second build with --check:
>>>
>>>   $ ./pre-inst-env guix build hwloc --check -L --no-grafts
>>                                               ^^^^
>> “--no-grafts” is taken as an argument to ‘-L’, and thus you only rebuilt
>> the grafting derivation:
>
> Thanks.  I shouldn't just do what I'm told :-/.  However, I don't
> understand why -L is needed, or what the path should be.

-L is not needed, it was a typo on my side.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-09-14  8:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-08  9:34 fixing --check saying outputs not valid Dave Love
2017-09-08 20:56 ` Ludovic Courtès
2017-09-11 10:31   ` Dave Love
2017-09-11 12:14     ` Ludovic Courtès
2017-09-13 13:27       ` Dave Love
2017-09-14  8:18         ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.