A quick update. Despite probably not having all the “bits” I continued to try a compilation of Xen 4.0.0 on Darwin. The result of a “make world”, after linking “darwin.mk” to “FreeBSD.mk” was an assembler syntax error in a file called “reloc.c” (copyright Citrix). Will check into that at the next session. Xen expects to be compiled on one of 10 architectures. Darwin is not one of them :-).
So I had a thought that I should make better use of what I have already, which is to say an iMac running Leopard. It has a 2.4Ghz Dual Core Intel Duo and 2G of Ram so I thought it might be an interesting academic exercise to try and build Xen on it. Not that we’re allowed to run Darwin on top of a hypervisor but should be able to learn something from building Xen at least!
First of all download and unpack Xen 4.0.0. OK, that’s easy. Look at the README file. Hmm a list of pre-requisites, of course. Downloaded the latest gnu compiler but quickly realised I was barking up the wrong tree and dug out my DVDs so I could install Xcode. (I’ve been registered as an Apple developer for a couple of years but never got around to even installing the toolset). Anyway that was easy too and a quick perusal of the Development website left me impressed.
So that has given me GCC and Make but the next on the list is Binutils. A quick google of “binutils darwin” led me to the darwinports website so I downloaded and installed darwin ports. Following the clues (not quite the exact instructions) led to an installation of binutils. Watching “port” work is also impressive. It takes all the frustration/fun out of building software. It goes and gets everything it needs, builds and installs it (after you tell it to update itself).
All went swimmingly until it fell over trying to build “gettext”. Tried it a couple of times to no avail and ended up running the failing command manually which produced masses of output and lots of warnings but did “something”. (Have to have a bit of faith sometimes). A port install of zlib worked fine and a final invocation of “port install binutils” completed OK although I was warned that “Having binutils installed will cause some other ports to fail to build. Consider uninstalling binutils.” Cute. I just installed it.
Back to Xen’s dependencies. Python, tick. Openssl, tick. x11, tick. curses…looks like another port job. Too late to look at that now and all the other bits will wait until the next free slot.