Subject: bug#47541: closed (Re: bug#47541: libvirt does not work)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 02 Apr 2021 12:08:01 +0000

Your bug report

#47541: libvirt does not work

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
47541: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=47541
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#47541: libvirt does not work
From: Pierre Langlois <[email-masked]>
To: Pierre Langlois <[email-masked]>
Cc: qblade <[email-masked]>, [email-masked]
Date: Fri, 02 Apr 2021 13:06:58 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Pierre Langlois writes:

> Hello!

(snip)

> I'll see if I can look into it at the weekend, although I'm not sure
> I'll be able to get to it, so in the meantime we should probably just
> revert the updates. Thanks a lot for investigating though, I think we
> ought to write a system test that uses virsh to connect if that's
> possible.
>
> All that being said, I just noticed somebody had already posted an
> alternative patch to do the update before I did, maybe that one is
> correct! https://issues.guix.gnu.org/46623
>
> Anyways, I'll revert the patches tomorrow unless there are any
> objections!

Ok, I've reverted the update while we work on updating it again, this
time correctly and with a working test :-).

Thanks,
Pierre

Subject: libvirt does not work
From: qblade <[email-masked]>
To: "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>
Date: Thu, 01 Apr 2021 13:38:41 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

after this commit, the `virsh` does not work corrent:

```
commit 383b02a370252c08eb1d43ac94d659c1d3993a35
Author: Pierre Langlois <[email-masked]>
Date:   Sat Mar 20 21:31:22 2021 +0000

    gnu: libvirt: Update to 7.1.0.

    * gnu/packages/virtualization.scm (libvirt): Update to 7.1.0.
    [source]: Remove libvirt-create-machine-cgroup.patch, add
    libvirt-do-not-create-var-dirs.patch.
    [build-system]: Switch to meson-build-system.
    [arguments]: Use meson-0.55.  Adapt #:configure-flags for meson, there is no
    need for --docdir anymore.  Remove fix-BOURNE_SHELL-definition phase.  Add
    fix-sysconfdir-and-localstatedir phase.  Adapt disable-broken-tests to meson.
    [native-inputs]: Add python-docutils and rpcsvc-proto.
    * gnu/packages/patches/libvirt-create-machine-cgroup.patch: Delete.
    * gnu/packages/patches/libvirt-do-not-create-var-dirs.patch: New patch.
    * gnu/local.mk (dist_patch_DATA): Add new patch, remove the other.

    Signed-off-by: Ludovic Courtès <[email-masked]>

```

Command to reproduce wrong:
```
# This is wrong:
# After commit
luhux@thinkpad-x230 ~ [date: Thu 01 Apr 2021 09:16:37 PM HKT]
$ GUIX_BUILD_OPTIONS="" guix time-machine --commit=383b02a370252c08eb1d43ac94d659c1d3993a35 -c 8 -M 8 -- environment --ad-hoc libvirt -- virsh connect
 qemu:///system
error: failed to connect to the hypervisor
error: Failed to connect socket to 'var/run/libvirt/libvirt-sock': No such file or directory

```

It uses the wrong path to connect to libvirtd of the current system.

Command to reproduce corrent:
```
# This is corrent:
# Before commit

luhux@thinkpad-x230 ~ [date: Thu 01 Apr 2021 09:16:32 PM HKT]
$ GUIX_BUILD_OPTIONS="" guix time-machine --commit=c536f0b217714917988d2f412999d978c2f2f495 -c 8 -M 8 -- environment --ad-hoc libvirt -- virsh connect qemu:///system
error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or directory
```

I use strace to create verbose log:

```
luhux@thinkpad-x230 ~ [date: Thu 01 Apr 2021 09:22:18 PM HKT]
$ GUIX_BUILD_OPTIONS="" guix time-machine --commit=383b02a370252c08eb1d43ac94d659c1d3993a35 -c 8 -M 8 -- environment --ad-hoc libvirt strace -- strace -o strace.log -- virsh connect qemu:///system
error: failed to connect to the hypervisor
error: Failed to connect socket to 'var/run/libvirt/libvirt-sock': No such file or directory

```

strace shows that it did use the wrong path:

```
  1056  access("var/run/libvirt/virtqemud-sock", F_OK) = -1 ENOENT (No such file or directory)
  1057  access("var/run/libvirt/libvirt-sock", F_OK) = -1 ENOENT (No such file or directory)
```

full strace log is in the attachment
 | | |
 V V V

My guess is that the patch in the commit caused this problem, but I have no ability to fix it.
Please fix it

thanks

qblade