
On 10/25/2010 12:18 PM, Ruben Kerkhof wrote:
On Sun, Oct 24, 2010 at 02:46, Justin Clift <jclift@redhat.com> wrote:
On 10/24/2010 09:33 AM, Ruben Kerkhof wrote: <snip>
None at all, actually. I just started libvirtd on my local mac on which I also have VirtualBox installed. Speaking of which, it would be nice to have a launchctl file for libvirtd. I might be able to come up with something...
Please do. It'd be nice to have that part working "out of the box" for people as well. :)
For that to work, I'd like to run libvirtd as my own user, so I can add the launchtl file to my own Library directory.
I'm curious, can you successfully run libvirtd as your own user (no sudo)?
03:10:17.562: error : qemudListenUnix:582 : Failed to bind socket to '@/Users/ruben/.libvirt/libvirt-sock': No such file or directory
Actually, that looks familiar. I think I tried the same thing, but was ok running it as root instead after getting the same error. I didn't look into it any more though. ;)
Stepping through the code now, I see 2 (possible) issues:
First: qemudInitPaths doesn't seem to create the ~/.libvirt directory Second: in qemudListenUnix, this piece of code:
addr.sun_family = AF_UNIX; if (virStrcpyStatic(addr.sun_path, path) == NULL) { VIR_ERROR(_("Path %s too long for unix socket"), path); goto cleanup; } if (addr.sun_path[0] == '@') addr.sun_path[0] = '\0';
So the first byte of the sun_path is '\0', something that Leopard doesn't seem to like. Breaking into gdb and setting the path manually to "/Users/ruben/.libvirt/libvirt-sock" seems to work.
Interesting. We can definitely pull together a temporary OSX workaround patch for the moment (purely in the Homebrew formula). But it would be better to have a proper fix in libvirt instead. How good is your C coding? :) Regards and best wishes, Justin Clift