guix package --show=openssh gnu/packages/curl.scm:55:4: error: libssh2: unbound variable

  • Done
  • quality assurance status badge
Details
4 participants
  • Jack Hill
  • Ludovic Courtès
  • Ricardo Wurmus
  • znavko
Owner
unassigned
Submitted by
Jack Hill
Severity
normal
J
J
Jack Hill wrote on 5 Apr 2019 04:25
(address . bug-guix@gnu.org)
alpine.DEB.2.20.1904042221010.30127@marsh.hcoop.net
Hi Guix,

When trying to run guix package --show with packages from the
(gnu packages ssh) module, such as openssh, guile-ssh, and libssh, I get
the following stack trace:

$ guix package --show=openssh
Backtrace:
In ice-9/boot-9.scm:
3014:26 19 (_)
In unknown file:
18 (primitive-load-path "gnu/packages/gnupg" #<procedure 1…>)
In gnu/packages/gnupg.scm:
34:0 17 (_)
In ice-9/boot-9.scm:
2874:4 16 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
2887:24 15 (_)
222:29 14 (map1 _)
222:29 13 (map1 _)
222:29 12 (map1 _)
222:29 11 (map1 _)
222:29 10 (map1 _)
222:17 9 (map1 (((gnu packages curl)) ((gnu packages crypto)) # …))
2800:17 8 (resolve-interface (gnu packages curl) #:select _ #:hide …)
In ice-9/threads.scm:
390:8 7 (_ _)
In ice-9/boot-9.scm:
2726:13 6 (_)
In ice-9/threads.scm:
390:8 5 (_ _)
In ice-9/boot-9.scm:
2994:20 4 (_)
2312:4 3 (save-module-excursion _)
3014:26 2 (_)
In unknown file:
1 (primitive-load-path "gnu/packages/curl" #<procedure 20…>)
In gnu/packages/curl.scm:
55:4 0 (_)

gnu/packages/curl.scm:55:4: error: libssh2: unbound variable

$ guix describe
Generation 123 Apr 04 2019 22:02:49 (current)
guix-at-duke a9674ec
branch: master
commit: a9674ec7b0decac94745c91df886817e2fc8a91b
guix 54c9d7b
branch: master
commit: 54c9d7bb69847c89a7193347f858bb4e9476f7df

To me, the error looks like a missing module import or simmilar, but I
can't spot it. Perhaps it is something else.

Best,
Jack
Z
Z
znavko wrote on 5 Apr 2019 08:53
Re: bug#35154: guix package --show=openssh gnu/packages/curl.scm:55:4: error: libssh2: unbound variable
(name . Jack Hill)(address . jackhill@jackhill.us)(address . 35154@debbugs.gnu.org)
LbgGTdS--3-1@tutanota.com
As I know it seems like need to run `guix pull` to update your scheme files.
I usually run updates for root and non-root users with this line:
`guix pull && guix package -u`

Also after update by root you may need to run `guix system reconfigure config.scm` with you config.scm file (that you need to have). This will update your guix-daemon.

Hope it helps!



Apr 5, 2019, 2:25 AM by jackhill@jackhill.us:

Toggle quote (56 lines)
> Hi Guix,
>
> When trying to run guix package --show with packages from the
> (gnu packages ssh) module, such as openssh, guile-ssh, and libssh, I get the following stack trace:
>
> $ guix package --show=openssh
> Backtrace:
> In ice-9/boot-9.scm:
> 3014:26 19 (_)
> In unknown file:
> 18 (primitive-load-path "gnu/packages/gnupg" #<procedure 1…>)
> In gnu/packages/gnupg.scm:
> 34:0 17 (_)
> In ice-9/boot-9.scm:
> 2874:4 16 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
> 2887:24 15 (_)
> 222:29 14 (map1 _)
> 222:29 13 (map1 _)
> 222:29 12 (map1 _)
> 222:29 11 (map1 _)
> 222:29 10 (map1 _)
> 222:17 9 (map1 (((gnu packages curl)) ((gnu packages crypto)) # …))
> 2800:17 8 (resolve-interface (gnu packages curl) #:select _ #:hide …)
> In ice-9/threads.scm:
> 390:8 7 (_ _)
> In ice-9/boot-9.scm:
> 2726:13 6 (_)
> In ice-9/threads.scm:
> 390:8 5 (_ _)
> In ice-9/boot-9.scm:
> 2994:20 4 (_)
> 2312:4 3 (save-module-excursion _)
> 3014:26 2 (_)
> In unknown file:
> 1 (primitive-load-path "gnu/packages/curl" #<procedure 20…>)
> In gnu/packages/curl.scm:
> 55:4 0 (_)
>
> gnu/packages/curl.scm:55:4: error: libssh2: unbound variable
>
> $ guix describe
> Generation 123 Apr 04 2019 22:02:49 (current)
> guix-at-duke a9674ec
> repository URL: > https://gitlab.oit.duke.edu/jackhill/guix-at-duke.git <https://gitlab.oit.duke.edu/jackhill/guix-at-duke.git>
> branch: master
> commit: a9674ec7b0decac94745c91df886817e2fc8a91b
> guix 54c9d7b
> repository URL: > https://git.savannah.gnu.org/git/guix.git <https://git.savannah.gnu.org/git/guix.git>
> branch: master
> commit: 54c9d7bb69847c89a7193347f858bb4e9476f7df
>
> To me, the error looks like a missing module import or simmilar, but I can't spot it. Perhaps it is something else.
>
> Best,
> Jack
>
Attachment: file
J
J
Jack Hill wrote on 5 Apr 2019 17:26
Re: bug#35154: guix package --show=openssh gnu/packages/curl.scm:55:4: error: libssh2: unbound variable
(address . znavko@tutanota.com)(address . 35154@debbugs.gnu.org)
alpine.DEB.2.20.1904051125160.30127@marsh.hcoop.net
On Fri, 5 Apr 2019, znavko@tutanota.com wrote:

Toggle quote (2 lines)
> As I know it seems like need to run `guix pull` to update your scheme files.

After guix pulling, I still see the problem with the latest Guix. My guix
describe information:

$ guix describe
Generation 124 Apr 05 2019 11:24:29 (current)
guix-at-duke a9674ec
branch: master
commit: a9674ec7b0decac94745c91df886817e2fc8a91b
guix 3a66563
branch: master
commit: 3a665637afc32a142dc24a77ce7ce9235eb6a3af

Best,
Jack
R
R
Ricardo Wurmus wrote on 5 Apr 2019 18:30
(name . Jack Hill)(address . jackhill@jackhill.us)
8736mwxvn6.fsf@elephly.net
Jack Hill <jackhill@jackhill.us> writes:

Toggle quote (18 lines)
> On Fri, 5 Apr 2019, znavko@tutanota.com wrote:
>
>> As I know it seems like need to run `guix pull` to update your scheme files.
>
> After guix pulling, I still see the problem with the latest Guix. My
> guix describe information:
>
> $ guix describe
> Generation 124 Apr 05 2019 11:24:29 (current)
> guix-at-duke a9674ec
> repository URL: https://gitlab.oit.duke.edu/jackhill/guix-at-duke.git
> branch: master
> commit: a9674ec7b0decac94745c91df886817e2fc8a91b
> guix 3a66563
> repository URL: https://git.savannah.gnu.org/git/guix.git
> branch: master
> commit: 3a665637afc32a142dc24a77ce7ce9235eb6a3af

I think (gnu packages curl) is not correct because it provides
libssh2-1.8.0, which inherits from a package that is in (gnu packages
ssh).

The definition of libssh2-1.8.0 should probably be moved to (gnu
packages ssh).

--
Ricardo
J
J
Jack Hill wrote on 5 Apr 2019 19:47
(name . Ricardo Wurmus)(address . rekado@elephly.net)
alpine.DEB.2.20.1904051337290.30127@marsh.hcoop.net
On Fri, 5 Apr 2019, Ricardo Wurmus wrote:

Toggle quote (7 lines)
> I think (gnu packages curl) is not correct because it provides
> libssh2-1.8.0, which inherits from a package that is in (gnu packages
> ssh).
>
> The definition of libssh2-1.8.0 should probably be moved to (gnu
> packages ssh).

Maybe. Here's an interesting twist: I thought I would try produce a patch
to move that definition. From a up-to-date checkout (commit
177bc62d63e89a1ce2f255879bca1fdc5f3769f1), I ran:

guix environment guix
./bootstrap
./configure --localstatedir=/var
make
./pre-inst-env guix package --show=openssh

And there is no error even though the definition had not been moved.

However, if I guix pull to the same commit, the problem persists.
L
L
Ludovic Courtès wrote on 7 Apr 2019 18:30
(name . Jack Hill)(address . jackhill@jackhill.us)
87ef6dlqwf.fsf@gnu.org
Hi Jack,

Jack Hill <jackhill@jackhill.us> skribis:

Toggle quote (6 lines)
> 1 (primitive-load-path "gnu/packages/curl" #<procedure 20…>)
> In gnu/packages/curl.scm:
> 55:4 0 (_)
>
> gnu/packages/curl.scm:55:4: error: libssh2: unbound variable

Fixed in 71b4974a40347bdc651c3a1f923780733d96ded7.

The lesson is: when inheriting from a package, do it in the module where
it’s defined.

Thanks,
Ludo’.
Closed
?