known problems using K42

overview

This page outlines some of the possible problems that may occur during the K42 build/run/test process. It is (and always will be) a work in progress - as new problems are encountered and fixed, they'll be added here.

build problems

Misbehaving yacc

kitchsrc/tools/build/shared/stubgen/grammar/cpp5.l:143: error: conflicting types for `YYSTYPE'
y.tab.h:215: error: previous declaration of `YYSTYPE'
kitchsrc/tools/build/shared/stubgen/grammar/cpp5.l:146: error: conflicting types for `yylval'
y.tab.h:221: error: previous declaration of `yylval'
make[8]: *** [lex.yy.o] Error 1

Your yacc is probably bison yacc, not BSD yacc. Install the BSD yacc (and, if necessary, update YACC in Make.paths).

Missing Linux object file

make[6]: *** No rule to make target `k42-packages/src-cvs/linux-026/pty.k42lib.o', needed by `baseServers'.  Stop.

The missing object file needs to be built from within the linux source tree:

cd k42-packages/src-cvs/linux-026
make -f Makefile.k42 k42libs MKANCHOR=mkanckor

(where mkanchor is the top level directory of the K42 build, where the kitchsrc directory is)

Missing python libraries

Traceback (most recent call last):
  File "install/tools/Linux_x86_64/powerpc/pemGenHdrs", line 14, in ?
    import os, string, sys, getopt, re, pprint, xml.parsers.expat
ImportError: No module named xml.parsers.expat
       

The python XML parsing libraries are not installed - you'll need the python-xml package

problems running on hardware

K42 broke my G5!

After an attempted boot of K42 on a G5, the boot failed, but now the machine won't boot any OS.

You've probably tried to boot the IBM (RS/6000) boot image rather that the mac boot image. The former will set real-mode to true in the machine's open firmware. To fix:

  1. Perform a prom-reset by booting with apple+option+p+r held down. This will set all of the open firmware settings to their defaults.
  2. Boot into OF by holding down apple+option+o+f
  3. Set real-mode back to false:
    setenv real-mode? false
  4. You may have to restore other OF settings - for example, at OzLabs we also need to:
    setenv load-base 0x4000000
    setenv boot-device enet:dhcp-server-ip,filename

Next time you try K42, boot the chrpboot.mac image rather than chrpboot.tok (if you're using k42console, run it with -f chrpboot.mac)

problems running under mambo

thinwire stops during boot

When booting under mambo, the mambo process stops with the (repeating) message:

waiting for input from thinwire on 9
no input from thinwire on 9
waiting for input from thinwire on 9
no input from thinwire on 9
(note that the number may vary)

The thinwire process can't open one of the ports it requires for a data channel - check to see if there's already something listening in the range [.twport, .twport + 5].

documentation

Generating source documentation

You need to first edit kitchsrc/doc/Makefile.doc to set the DSSSL_DISTRO variable to whatever is appropriate for your distribution. You can then enter the directory containing whichever SGML file you want compiled and run make.

Generating all HTML documentation

A variant of this shell script, edited to taste, will do the trick:

cd kitchsrc/
for i in `find . -name doc`; do
   make -C $i; mkdir -p html-docs/$i; cp $i/*.html html-docs/$i;
done
The output will be in the html-docs directory.