The plan9port code depends on the operating system's pthreads being real kernel-level threads, not a fake user-level simulation. The user-level simulations are not good enough, because on the x86 they cut corners and use the stack pointer to locate the thread-local state. The Plan 9 threaded programs manage their own stacks, making it impossible for the user-space simulations to find their thread-local state.
Most Linux distributions switched to real threads (i.e., dropped LinuxThreads in favor of NPTL) around the time they switched to the 2.6 kernel. FreeBSD switched in the FreeBSD 5 release. Last I had heard, OpenBSD was still plodding along with user-level threads. Until they fix that, programs like acme will not run. Russ
