
libvirt expects the QEMU binaries in /usr/bin. e.g. it explicitly checks for /usr/bin/qemu-system-x86_64. Try symlinking /usr/local/bin/qemu-system-x86_64 to /usr/bin/qemu-system-x86_64.
That's not enough. I have a locally-built qemu-system-x86_64 installed in /usr/bin, and the only way I could get it to work properly was copy /usr/bin/qemu-system-x86_64 to /usr/bin/qemu-kvm (a symlink would likely do the job just as well). There is a bit of code just doesn't happen unless /usr/bin/qemu-kvm or /usr/bin/kvm exist and are executable, although I have to say that once I solved my own problem by making a copy of the file with the proper name, I stopped trying to understood exactly what was happening in that code :-)
That's insane, but it solved the problem. I created a symlink in /usr/bin to /usr/local/bin/qemu-system-x86_64, and everything works perfectly now. FWIW, I didn't need /usr/bin/qemu or /usr/bin/qemu-kvm either. Thanks for the advice.