Upgrading Arch VM for 4.3: libxenvchan.so errors

Hi guys, I have a standalone Arch VM which was created a while ago but was happily running in Qubes 4.2.4.

I decided to restore this in 4.3RC2 and set the Arch repos to 4.3, then upgrade all packages.

This largely went well except I suddenly started getting a failure of the qrexec service. Needless to say this was fatal when shutting down and restarting the VM.

Oct 19 12:01:34 test-dev-arch systemd[1]: Starting Qubes remote exec agent…
Oct 19 12:01:34 test-dev-arch qrexec-agent[2171]: /usr/lib/qubes/qrexec-agent: error while loading shared libraries: libxenvchan.so.4.17 not found
Oct 19 12:01:34 test-dev-arch systemd[1]: qubes-qrexec-agent.service: Main process exited, code=exited, status=127/n/a
Oct 19 12:01:34 test-dev-arch systemd[1]: qubes-qrexec-agent.service: Failed with result ‘exit-code’.
Oct 19 12:01:34 test-dev-arch systemd[1]: Failed to start Qubes remote exec agent.

Despite repeated reinstalls of the 4.3 qubes packages including qubes-libvchan-xen, I could not get rid of the error. There was a reference to libxenvchan.so.4.17 somewhere which qrexec demanded.

In the end I manually created a symlink for libxenvchan.so.4.17 in /usr/lib/ which points to the later 4.19 version.

This now works and qrexec is happy.

Questions remain though:

Where is the requirement for libxenvchan.so.4.17 specified?

How does one actually get rid of it so qrexec will use the 4.19 version?

1 Like

Sorry I can’t help you with this :worried:

I ran into the same issue with xen requirements for my arch templates when upgrading them to 4.3, and that symlink fix did not work for me.
The fix for me was to install qubes-vm-xen with a 4.17.X version and then restarting the services. Then I added it to my IgnorePkg so it doesn’t get updated until this dependency issues gets fixed.

I created an issue in GH to track this Arch Qubes packages require xen 4.17 but qubes-vm-xen version is 4.19 · Issue #10517 · QubesOS/qubes-issues · GitHub