Running OSv on Ubuntu on Parallels on Mac

I’ve started playing with OSv – a unikernel that can run Java. It has a VM running/building tool called capstan.

I had trouble doing a “capstan build” on my first Java VM build on my Mac. I get this error:

dyld: Library not loaded: /usr/local/lib/libgthread-2.0.0.dylib
Referenced from: /usr/local/bin/qemu-nbd
Reason: Incompatible library version: qemu-nbd requires version 4601.0.0 or later, but libgthread-2.0.0.dylib provides version 4201.0.0

libgthreads seems to come from “glib”. Perhaps homebrew needs a new version?

So, to work around this, I installed Ubuntu 15.04 under parallels and performed these steps:

  1. In Parallels, I enabled “Nested Virtualization” for the VM.
  2. Install Capstan normally
  3. apt-get install qemu qemu-kvm
  4. chmod go+rw /dev/kvm

The last step was to work around this “permission denied error” – allowing me to run kvm as a normal user.

Created instance: cloudius-osv
Could not access KVM kernel module: Permission denied
failed to initialize KVM: Permission denied

YOW LambdaJam 2015

I’ll be speaking at YOW LambdaJam 2015. This is my first conference talk – very exciting, and a little scary. I’ll be talking about record systems – something I’ve gotten interested in since looking at the altjs languages Elm and PureScript.

Record system links

Learn you a Haskell – Record Syntax

Wikibooks: Haskell/More on datatypes

Extensible Effects – An alternative to Monad Transformers – Kiselyov, Sabry, Swords

Record packages on Hackage

Elm Extensible Records

The Syntax of Elm – Records

PureScript by Example – Chapter 3: Functions and Records – Phil Freeman

Scrap Your Type Classes – Gabriel Gonzalez

Idris Tutorial – 3.10 Dependent Records – The Idris Community

Vinyl Records

‘Record’ Library

“Row Polymorphism Isn’t Subtyping” – Brian McKenna