C-Kermit and 4.1

Greg Earle earle at poseur.jpl.nasa.gov
Thu Jul 5 08:11:34 AEST 1990


In Sun-Spots article <9573 at brazos.Rice.edu> BYKAT at utcvm.BITNET writes:
>We have recently upgraded to 4.1 on our SS1.  Couple of days ago, I've
>tried to run a C-Kermit session, but could get no further than issuing the
>kermit command; kermit hangs with no messages. Anybody out there tried to
>run C-Kermit under 4.1? Any luck? We had no problems with it under 4.03.
>(By the way, I have no problem with tip under 4.01)

Preliminary analysis:

I just installed 4E(072) Kermit on a Sun-3/260 running SunOS 4.1, and it
does not exhibit the same symptoms you mention.  FYI.  In situations like
this, the best thing to do is run the program under the trace(1) command:

	trace -o /tmp/kermit.trace kermit

If you can bring up another window (if using a window system, or a plain
terminal multiplexor such as `screen'), try doing 

	tail -f /tmp/kermit.trace

and you will see what is being done when it hangs.  If you can't do the
tail -f, kill the hung kermit and do `view /tmp/kermit.trace' and go to
the bottom of the file.

More carefully considered analysis of building `kermit' under SunOS 4.1:

In SunOS 4.1, we went to using HoneyDanBer UUCP.  This UUCP (and `cu' and
`tip' as well) now uses `/usr/spool/locks' for lock files, instead of the
old `/usr/spool/uucp'.  If you build C Kermit 4E(072) using the existing
`ckuker.mak' Makefile, and say `make sunos4', the resulting version will
continue to use /usr/spool/uucp.  This will not interoperate with the
other software that expects to use /usr/spool/locks for tty locks.

The solution to this problem is to change all references to `ATT3BX' in
the source (ckutio.c) and in the Makefile (ckuker.mak) and in ckuker.upd
to be `HDB' instead, since the only places `ATT3BX' is referenced is in
`ckutio.c' to handle the HoneyDanBer style locking - i.e., it has nothing
to do with the actual AT&T 3Bx and 3Bxx series machines themselves, per
se.

Once you've done that, edit `ckuker.mak' (the Makefile), and replicate the
`sunos4' section as follows:

# Sun OS 4.0 or 4.0.1 or 4.0.3
sunos4:
	make wermit "CFLAGS= -DBSD4 -DSUNOS4 -DDEBUG -DTLOG"

# Sun OS 4.1 with HoneyDanBer UUCP locking
sunos41:
	make wermit "CFLAGS= -DBSD4 -DSUNOS4 -DHDB -DDEBUG -DTLOG"

If you want to be lazy you could just use `-DATT3BX' in that line and not
change any of the code or Makefile (^:

Then just do `make sunos41' and you're off.

Finally, remember to install the wermit executable as `kermit' owned by
`uucp', group `uucp, and setuid `uucp', much like `tip':

-rws--x--x  1 uucp     uucp       1xxxxx Jul  3 18:47 /usr/local/bin/kermit*
-rws--x--x  1 uucp     daemon      65536 Feb  8 06:47 /usr/bin/tip*

If it is not setuid `uucp' it will not be able to create the lock file for
the serial port in `/usr/spool/locks'.

Greg Earle
earle at poseur.JPL.NASA.GOV
earle at Sun.COM



More information about the Comp.sys.sun mailing list