<div dir="ltr"><div class="gmail-s-prose gmail-js-post-body">
                
<p>Hello.</p><p><br></p><p>I've tried to compile a custom libvirt-python+virt-manager stack following these tutorials :</p><p><br></p>
<p><a href="https://developer.ibm.com/technologies/linux/tutorials/compiling-libvirt-and-qemu/" rel="nofollow noreferrer">https://developer.ibm.com/technologies/linux/tutorials/compiling-libvirt-and-qemu/</a></p>
<p><a href="https://gist.github.com/ffledgling/9e06ee32431d9a8f6d9bec3a0db35634" rel="nofollow noreferrer">https://gist.github.com/ffledgling/9e06ee32431d9a8f6d9bec3a0db35634</a></p><p><br></p>
<p>on my jetson nano (arm64 + ubuntu 18.04). In details,these are the steps that I did :</p><p><br></p>
<ol><li>Install Git and clone both upstream libvirt and qemu repos.</li></ol>
<blockquote>
<p>git clone <a href="https://github.com/qemu/qemu.git" rel="nofollow noreferrer">https://github.com/qemu/qemu.git</a></p>
<p>git clone <a href="https://github.com/libvirt/libvirt.git" rel="nofollow noreferrer">https://github.com/libvirt/libvirt.git</a></p><p><br></p>
</blockquote>
<ol start="2"><li>Configure and build the qemu code and then install the qemu code. 
The make install command creates the binary files in the /usr/local 
directory.</li></ol>
<blockquote>
<p>cd qemu</p>
<p>mkdir -p build</p>
<p>cd build</p>
<p>../configure --prefix=/usr/local
--target-list=aarch64-softmmu,arm-softmmu --enable-guest-agent 
--enable-vnc --enable-vnc-jpeg --enable-vnc-png --enable-kvm 
--enable-spice --enable-sdl --enable-gtk --enable-virglrenderer 
--enable-opengl</p>
<p>make -j</p>
<p>sudo make install</p><p><br></p>
</blockquote>
<p>2.1) qemu 6.0 has been detected correctly at this point :</p><p><br></p>
<blockquote>
<p>#qemu-system-aarch64 --version</p>
<p>QEMU emulator version 6.0.50 (v6.0.0-1145-g7258034ab4)  Copyright (c)
2003-2021 Fabrice Bellard and the QEMU Project developers</p><p><br></p>
</blockquote>
<ol start="3"><li>Configure and build libvirt and then install the libvirt code. 
Libvirt_build contains the log and configuration files for the daemons 
and the qemu driver.</li></ol>
<blockquote>
<p><br></p><p>cd ~/Desktop/zi/Work/I9/libvirt</p>
<p>mkdir -p libvirt_build</p>
<p>cd ~/Desktop/zi/Work/I9/libvirt</p>
<p>$ meson libvirt_build</p>
<p>$ ninja -C libvirt_build</p>
<p>$ ninja -C libvirt_build install</p><p><br></p>
</blockquote>
<ol start="4"><li>Run the following commands from /root/Desktop/zi/Work/I9/libvirt/libvirt_build directory to start the libvirt daemon (libvirtd).</li></ol>
<blockquote>
<p><br></p><p>~/Desktop/zi/Work/I9/libvirt/libvirt_build# sudo ./run src/virtlockd & sudo
./run src/virtlogd & sudo ./run src/libvirtd</p><p><br></p>
</blockquote>
<ol start="5"><li>Here is the ouput of the virt process running in my system :</li></ol>
<blockquote>
<p><br></p><p>~/Desktop/zi/Work/I9/libvirt_build# ps axf | grep virt</p>
<p>30925 pts/0    S      0:00          |               _ sudo ./run
src/virtlockd  30929 pts/0    S      0:00          |               |<br>
_ src/virtlockd  30926 pts/0    S      0:00          |<br>
_ sudo ./run src/virtlogd  30930 pts/0    S      0:00          |<br>
|   _ src/virtlogd  31201 pts/0    S      0:00          |<br>
_ sudo ./run src/virtlockd  31205 pts/0    S      0:00          |<br>
|   _ src/virtlockd  31202 pts/0    S      0:00          |<br>
_ sudo ./run src/virtlogd  31207 pts/0    S      0:00          |<br>
|   _ src/virtlogd  31204 pts/0    S+     0:00          |<br>
_ sudo ./run src/libvirtd  31206 pts/0    Sl+    0:01          |<br>
_ src/libvirtd   4732 pts/1    S+     0:00              _ grep
--color=auto virt</p>
<p>31413 ?        S      0:00 /usr/sbin/dnsmasq
--conf-file=/root/Desktop/zi/Work/I9/libvirt/libvirt_build/var/lib/libvirt/dnsmasq/default.conf
--leasefile-ro --dhcp-script=/home/zi/Desktop/Work/I9/libvirt/build/src/libvirt_leaseshelper</p>
<p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">31426 ?        S      0:00  _ /usr/sbin/dnsmasq
--conf-file=/root/Desktop/zi/Work/I9/libvirt/libvirt_build/var/lib/libvirt/dnsmasq/default.conf
--leasefile-ro --dhcp-script=/home/zi/Desktop/Work/I9/libvirt/build/src/libvirt_leaseshelper</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM"><br></p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM">6. Install libvirt-python next because I need to use virt-manager and that requires libvirt python bindings</p><p class="gmail-_1qeIAgB0cPwnLhDF9XSiJM"><br></p></blockquote><blockquote>
<p>~/Desktop/zi/Work/I9/libvirt/libvirt_build# sudo ./run tools/virsh list --all</p>
<p>Id Name State</p>
<hr>
</blockquote>
<br><ol start="7"><li>Install libvirt-python next because I need to use virt-manager and that requires libvirt python bindings</li></ol>
<blockquote>
<p>CUSTOM_ROOT=/home/zi/Desktop/Work/I9/libvirt/libvirt_build</p>
<p>mkdir - p $CUSTOM_ROOT/src</p>
<p>#cp -r /root/Scrivania/Scrivania/Dati/Data/Nano/I9/Tools/virt-manager-3.2.0 /home/zi/Desktop/Work/I9/libvirt/libvirt_build/src</p>
<p>~/Desktop/zi/Work/I9/libvirt/libvirt_build/src/libvirt-python-7.3.0#
export LD_LIBRARY_PATH=$CUSTOM_ROOT/lib</p>
<p>~/Desktop/zi/Work/I9/libvirt/libvirt_build/src/libvirt-python-7.3.0#
export
PKG_CONFIG_PATH=$CUSTOM_ROOT/lib/aarch64-linux-gnu/pkgconfig</p>
<p>~/Desktop/zi/Work/I9/libvirt/libvirt_build/src/libvirt-python-7.3.0#
python setup.py build</p>
<p>~/Desktop/zi/Work/I9/libvirt/libvirt_build/src/libvirt-python-7.3.0#
python setup.py install --root $CUSTOM_ROOT</p>
<p>LOG : <a href="https://pastebin.ubuntu.com/p/SVHkDhXs2s/" rel="nofollow noreferrer">https://pastebin.ubuntu.com/p/SVHkDhXs2s/</a></p><p><br></p>
</blockquote>
<ol start="8"><li>Then I've installed a custom virt-manager into the same location and it should pick up the newer python bindings :</li></ol>
<blockquote>
<p>#cp -r /root/Scrivania/Scrivania/Dati/Data/Nano/I9/Tools/virt-manager-3.2.0 /home/zi/Desktop/Work/I9/libvirt/libvirt_build/src</p>
<p>#cd virt-manager-3.2.0</p>
<p>#python setup.py install --root $CUSTOM_ROOT</p>
<p>LOG : <a href="https://pastebin.ubuntu.com/p/bCn5Q3yHVX/" rel="nofollow noreferrer">https://pastebin.ubuntu.com/p/bCn5Q3yHVX/</a></p><p><br></p>
</blockquote>
<ol start="9"><li>Finally I put all in my $PATH :</li></ol>
<blockquote>
<p>export PATH=$CUSTOM_ROOT/bin:$PATH</p>
<p>export PATH=$CUSTOM_ROOT/usr/bin:$PATH</p>
<p>#echo $PATH</p>
</blockquote>
<blockquote>
<p>/home/zi/Desktop/Work/I9/libvirt/libvirt_build/usr/bin:/home/zi/Desktop/Work/I9/libvirt/libvirt_build/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/zi/Desktop/Work:/root/Desktop/turbovnc/jtx1_remote_access
 
>/tmp/turbovnc-build/bin/:/root/Desktop/turbovnc/jtx1_remote_access/tmp/virtualgl-build/bin/</p><p><br></p>
</blockquote>
<ol start="10"><li>Unfortunately,when I try to run virt-manager with this command,it does not work :</li></ol>
<blockquote>
<p>/home/zi/Desktop/Work/I9/libvirt/libvirt_build/usr/bin# python
virt-manager</p><p><br></p>
</blockquote>
<p><strong>Traceback (most recent call last):
File "/home/zi/Desktop/Work/I9/libvirt/libvirt_build/usr/bin/virt-manager", line 6, in 
from virtManager import virt manager
ModuleNotFoundError: No module named 'virtManager'</strong></p><p><strong><br></strong></p>
<p>Where is the mistake ? Thanks very much.<br clear="all"></p></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Mario.<br></div></div>