RE: win32 build of librbd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Does this list block attachments? I sent this through yesterday with the patch as an attachment but it doesn't appear to have arrived.

> 
> With the attached patch I can use mingw32 on Debian, with a few extra bits
> (boost, cryptopp, libatomic-ops), and build librados.dll, librbd.dll, and
> rbd.exe, and do a 'rbd ls' on windows. Haven't tested more than that.
> 
> It's more a proof of concept, and is a bit of a mess. I've tried to do "#if
> defined(_WIN32)" for the windows specific changes, but will have missed a
> few places and/or inadvertently broken non-windows build in more than one
> place.
> 
> Anything not required for librados, librbd, and rbd to build isn't included, so
> libcommon is missing a heap of stuff.
> 
> To build, apply the patch, cd to win32, and make. Check INSTALL though as
> there are some prerequisites required.
> 
> Some observations/notes:
> 
> . code not used by rbd.exe is #ifdef'd out where it was preventing build (eg
> bind won't work)
> . cls_lock_types.h defines LOCK_EXCLUSIVE, but Windows already defines
> this for other purposes
> . a few other Windows names are used by ceph for other purposes
> . mingw doesn't provide poll
> . no unix sockets on windows. I've just omitted the admin socket stuff that
> uses this, but I guess they would be reimplemented using named pipes
> . #ifdef'd out anything to do with signals
> . #ifdef'd out anything to do with syslog
> . attempted to strip out dos newlines (\r) on the fly but didn't work.
> ceph.conf must be unix format
> . ceph.conf is searched for in /etc/ceph and current directory
> . some socket stuff has been replaced with windows specific
> implementations. Probably full of bugs.
> . removed libuuid and using boost uuid. Not really tested
> . probably lots of other stuff
> 
> James

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux