[libvirt] Initial working Mac OS X libvirt client build

Justin Clift jclift at redhat.com
Mon Oct 25 05:09:38 UTC 2010


On 10/25/2010 12:18 PM, Ruben Kerkhof wrote:
> On Sun, Oct 24, 2010 at 02:46, Justin Clift <jclift at 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




More information about the libvir-list mailing list