If you look here: https://gitlab.com/libvirt/libvirt/-/pipelines/158898402, our pipelines are green across all platforms but one (mips crossbuild debian which is irrelevant here). So, can you share what version of python3 docutils you use? Our Ubuntu-1804 uses the distro-provided python3-docutils-0.14 which works well.
Are you positive you don't have a conflicting version of docutils installed through pip as the user that runs the libvirt build, IOW does invoking "pip list --user | grep docutils" return an empty list?
You can also verify the same think by editing the docs/Makefile.am by adding "$(RST2MAN) --version; " and checking the output whether the rst2man taken by libvirt build is indeed the one installed from python3-docutils. In any case, since the build clearly passes in our pipelines, the problem is outside of libvirt.
Are you positive you don't have a conflicting version of docutils installed through pip as the user that runs the libvirt build, IOW does invoking "pip list --user | grep docutils" return an empty list?
Actually, ^this won't help at all, even if you had a conflicting package installed, libvirt would still take it from /usr/bin, the only case where that would apply would be if you'd created a symlink in /usr/bin pointing to the user installed pip version of rst2man, which I expect is not the case.
You can further investigate with our CI containers, by running
make -C ci ci-shell@ubuntu-1804 and looking around what is installed and in what version and compare to your system.