On 8/30/22 15:34, Peter Krempa wrote:
> On Tue, Aug 30, 2022 at 14:13:36 -0500, Carlos Bilbao wrote:
>> Hello,
>>
>> I am trying to test some changes made to libvirt. I tried compiling and
>> installing, following the available documentation, with:
>>
>> ninja -C build clean
>> meson build --prefix=$HOME/usr
>> ninja -C build -Dsystem=true
> note that the '-Dsystem=true' argument is supposed to be used with
> 'meson' as it sets up configure time options. This way it probably did
> nothing.
Noted, thanks!
>> sudo ninja -C build install
>>
>> After doing this, I try to run virt-install and get the following
>> error on
>> the active libvirtd daemon:
>>
>> Failed to connect socket to '/var/local/run/libvirt/virtqemud-sock': No
>> such file or directory
>>
>> Indeed, that file does not exist:
>>
>> $ ls /var/local/run/libvirt/
>> common hostdevmgr lockd lxc network nwfilter nwfilter-binding
>> secrets
>> storage
> So the directory really looks like libvirtd/virtqemud or any other of
> the libvirt daemons never ran.
>
> How did you start the daemons, did they log something?
So, what I did this time was:
$ ninja -C build clean
$ meson build --reconfigure --prefix=$HOME/usr -Dsystem=true
$ ninja -C build
$ sudo ninja -C build install
$ systemctl stop libvirtd
$ systemctl start libvirtd
but I still get:
$ virt-install --name ubuntu-sev --boot
loader=/usr/share/OVMF/OVMF_CODE.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/usr/share/OVMF/OVMF_VARS.fd,loader_secure=no
--vcpus 8 --memory 4096 --memtune hard_limit=16777216 --disk
pool=default,device=disk,size=32,format=raw --controller
type=scsi,model=virtio-scsi --network bridge=virbr0,model=virtio
--controller type=virtio-serial --machine q35 --cpu host-passthrough
--cdrom /var/lib/libvirt/images/ubuntu.iso --osinfo
detect=on,require=on --launchSecurity sev,policy=0x00 --graphics none
--tpm none
ERROR Failed to connect socket to
'/var/local/run/libvirt/virtqemud-sock': No such file or directory
and the daemon shows the same error:
$ systemctl status libvirtd
○ libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/local/lib/systemd/system/libvirtd.service;
enabled; vendor preset: enabled)
Active: inactive (dead) since Tue 2022-09-06 17:43:53 UTC; 1min
57s ago
TriggeredBy: ● libvirtd-admin.socket
● libvirtd-ro.socket
● libvirtd.socket
Docs: man:libvirtd(8)
https://libvirt.org
Process: 2272757 ExecStart=/usr/local/sbin/libvirtd $LIBVIRTD_ARGS
(code=exited, status=0/SUCCESS)
Main PID: 2272757 (code=exited, status=0/SUCCESS)
Tasks: 2 (limit: 32768)
Memory: 60.5M
CPU: 49ms
CGroup: /system.slice/libvirtd.service
├─2760 /usr/sbin/dnsmasq
--conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro
--dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
└─2761 /usr/sbin/dnsmasq
--conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro
--dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
Sep 06 17:41:04 host systemd[1]: Starting Virtualization daemon...
Sep 06 17:41:04 host systemd[1]: Started Virtualization daemon.
Sep 06 17:41:53 host libvirtd[2272757]: libvirt version: 8.7.0
Sep 06 17:41:53 host libvirtd[2272757]: hostname: host
Sep 06 17:41:53 host libvirtd[2272757]: Failed to connect socket to
'/var/local/run/libvirt/virtqemud-sock': No such file or directory
Sep 06 17:41:53 host libvirtd[2272757]: End of file while reading
data: Input/output error
>
>> virt-install was working fine before started changing libvirt's
>> source code.
>> I'm working with Ubuntu 22.04 LTS, virsh v8.7.0.
> Generally the most straightforward way is to build distribution packages
> from the tree and install them directly in your system because then you
> avoid issues such as possibly having two libvirtd instances running and
> such.
Does libvirt have any script or tool to ease such process?
Answering to myself here, because I have made some progress but still have
to fix some blockings. Decided to use debhelper to build Debian packages
and test libvirt. Did:
$ sudo apt-get install debhelper dh-make
$ sudo dh_make --createorig -p libvirt-snp_1
$ dh_auto_configure --buildsystem=meson
$ dpkg-buildpackage -rfakeroot -us -uc -b
Notice that the option -b for dpkg-buildpackage is to avoid the Debian
package bureaucracy. But still, some checks fail for the package (see below
). I don't think this errors have anything to do with the code I modified,
but I will be happy to share a patch for reproduction.
Summary of Failures:
76/255 libvirt / domaincapstest FAIL 1.65s exit status 1
97/255 libvirt / vircgrouptest FAIL 1.53s exit status 1
105/255 libvirt / virhostcputest FAIL 1.50s exit status 1
106/255 libvirt / virhostdevtest FAIL 1.50s exit status 1
107/255 libvirt / viridentitytest FAIL 1.50s exit status 1
108/255 libvirt / viriscsitest FAIL 1.49s exit status 1
113/255 libvirt / virnetdevtest FAIL 1.47s exit status 1
116/255 libvirt / virpcitest FAIL 1.46s exit status 1
128/255 libvirt / fchosttest FAIL 1.37s exit status 1
130/255 libvirt / vircaps2xmltest FAIL 1.36s exit status 1
151/255 libvirt / virnetserverclienttest FAIL 1.28s exit
status 1
169/255 libvirt:syntax-check /
TAB_in_indentation FAIL 0.88s exit status 2
239/255 libvirt:syntax-check /
prohibit_obj_free_apis_in_virsh FAIL 0.39s exit status 2
249/255 libvirt:syntax-check /
trailing_blank FAIL 0.28s exit status 2
Ok: 236
Expected Fail: 0
Fail: 14
Unexpected Pass: 0
Skipped: 5
Timeout: 0
dh_auto_test: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8
MESON_TESTTHREADS=192 meson test returned exit code 14
make: *** [debian/rules:18: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit
status 2
Thanks!
Carlos