Use mkfifo instead of mknod to create a FIFO.  Mknod require root
privileges.

Index: buildlectern/src/POSIX/OSUtilsPosix.m3
--- buildlectern/src/POSIX/OSUtilsPosix.m3.orig	Mon May 20 13:04:46 1996
+++ buildlectern/src/POSIX/OSUtilsPosix.m3	Thu Jul 10 21:03:34 1997
@@ -32,10 +32,10 @@
 VAR pFifo: TEXT := NIL;
 
 PROCEDURE CreateFifo(p: TEXT) RAISES {OSError.E} =
-  CONST Mode = Unix.fifo_special + Unix.MROWNER + Unix.MWOWNER;
+  CONST Mode = Unix.MROWNER + Unix.MWOWNER;
   BEGIN
     <* ASSERT pFifo=NIL *>
-    IF Unix.mknod(M3toC.TtoS(p), Mode, 0) < 0 THEN
+    IF Unix.mkfifo(M3toC.TtoS(p), Mode) < 0 THEN
       OSErrorPosix.Raise();
     END;
     pFifo := p;