unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* libssh source problem
@ 2018-07-27  5:14 Ben Woodcroft
  2018-08-02  8:04 ` Chris Marusich
  0 siblings, 1 reply; 2+ messages in thread
From: Ben Woodcroft @ 2018-07-27  5:14 UTC (permalink / raw)
  To: help-guix@gnu.org

Hi,

I run a setup that uses a non-standard store directory, and am running 
into this:

$ ~/git/guix-euramoo/pre-inst-env guix build -S libssh
substitute: guix substitute: warning: 'https://mirror.hydra.gnu.org' 
uses different store '/gnu/store'; ignoring it
The following derivations will be built:
/RDS/Q0227/store/sm6fhnj3yy0g44jk9nwzrrib8lhx569h-libssh-0.7.5-0.tar.xz.drv
/RDS/Q0227/store/imwprwb3ixmzkhw52rgbdcvna51ckh15-libssh-0.7.5-0.239d0f7-checkout.drv
substitute: guix substitute: warning: 'https://mirror.hydra.gnu.org' 
uses different store '/gnu/store'; ignoring it
substitute: guix substitute: warning: 'https://mirror.hydra.gnu.org' 
uses different store '/gnu/store'; ignoring it
@ build-started 
/RDS/Q0227/store/imwprwb3ixmzkhw52rgbdcvna51ckh15-libssh-0.7.5-0.239d0f7-checkout.drv 
- x86_64-linux 
/RDS/Q0227/var/log/guix/drvs/im//wprwb3ixmzkhw52rgbdcvna51ckh15-libssh-0.7.5-0.239d0f7-checkout.drv.bz2
Initialized empty Git repository in 
/RDS/Q0227/store/7871hkkcr3iqn8pjn0a8n1kfslg47rvh-libssh-0.7.5-0.239d0f7-checkout/.git/ 

fatal: dumb http transport does not support shallow capabilities


The terminal then hangs rather than failing.

Relatedly, is there some way to enable source substitutes when the store 
root does not match?

Also, is there some way to workaround this by downloading the source 
manually and then using 'guix download' or similar? I suspect that won't 
work because the file-name cannot be specified as an option to that command.

Thanks in advance, ben

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

* Re: libssh source problem
  2018-07-27  5:14 libssh source problem Ben Woodcroft
@ 2018-08-02  8:04 ` Chris Marusich
  0 siblings, 0 replies; 2+ messages in thread
From: Chris Marusich @ 2018-08-02  8:04 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: help-guix@gnu.org

[-- Attachment #1: Type: text/plain, Size: 3354 bytes --]

Hi Ben,

Ben Woodcroft <b.woodcroft@uq.edu.au> writes:

> I run a setup that uses a non-standard store directory, and am running
> into this:
>
> $ ~/git/guix-euramoo/pre-inst-env guix build -S libssh
> substitute: guix substitute: warning: 'https://mirror.hydra.gnu.org'
> uses different store '/gnu/store'; ignoring it
> The following derivations will be built:
> /RDS/Q0227/store/sm6fhnj3yy0g44jk9nwzrrib8lhx569h-libssh-0.7.5-0.tar.xz.drv
> /RDS/Q0227/store/imwprwb3ixmzkhw52rgbdcvna51ckh15-libssh-0.7.5-0.239d0f7-checkout.drv
> substitute: guix substitute: warning: 'https://mirror.hydra.gnu.org'
> uses different store '/gnu/store'; ignoring it
> substitute: guix substitute: warning: 'https://mirror.hydra.gnu.org'
> uses different store '/gnu/store'; ignoring it
> @ build-started
> /RDS/Q0227/store/imwprwb3ixmzkhw52rgbdcvna51ckh15-libssh-0.7.5-0.239d0f7-checkout.drv -
> x86_64-linux
> /RDS/Q0227/var/log/guix/drvs/im//wprwb3ixmzkhw52rgbdcvna51ckh15-libssh-0.7.5-0.239d0f7-checkout.drv.bz2
> Initialized empty Git repository in
> /RDS/Q0227/store/7871hkkcr3iqn8pjn0a8n1kfslg47rvh-libssh-0.7.5-0.239d0f7-checkout/.git/ 
>
> fatal: dumb http transport does not support shallow capabilities

This seems like a Git problem.  Git doesn't like something about the
transport.  Are you using a recent version of Guix?  If it's still
happening after you run "guix pull", maybe it's a packaging bug we need
to fix.

My guess is that the Git server at
https://git.libssh.org/projects/libssh.git doesn't support some feature
that our Git client needs.  Since they have a git:// URL available [1],
also, perhaps we should update the package definition to use it instead.
Would you be willing to submit a patch for that?

> Relatedly, is there some way to enable source substitutes when the
> store root does not match?

Unfortunately, no.  Components in the store often refer to other
components in the store (e.g., a program might refer to shared
libraries).  If you were to download a substitute that refers to paths
in /gnu/store rather than /RDS/Q0227/store, your substitute would refer
to paths that lie outside of your local store and don't exist, so your
installed software would be broken.

For this reason, the location of the store is one of the factors that
determines the hash part of store items.  You can only make use of
substitutes if those substitutes use the same store location as you do.

> Also, is there some way to workaround this by downloading the source
> manually and then using 'guix download' or similar? I suspect that
> won't work because the file-name cannot be specified as an option to
> that command.

Actually, this should work because derivations that build source like
this are so-called "fixed-output derivations": their output is fixed and
known in advance.  If you "guix download" the source file into the
store, as long as the content was correct, it will be used automatically
by later invocations of "guix build" etc.  It doesn't matter where you
got the file from.  You could probably even "guix download" a path from
Hydra, even though it uses a different store location, since all that
matters is the content of the file.

The tricky part is knowing exactly which file you need.

Footnotes: 
[1]  https://www.libssh.org/get-it/

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

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

end of thread, other threads:[~2018-08-02  8:04 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-27  5:14 libssh source problem Ben Woodcroft
2018-08-02  8:04 ` Chris Marusich

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