Subject: Re: Domestic tn3270 not working?
To: None <khym@bga.com>
From: Greg Earle <earle@isolar.Tujunga.CA.US>
List: current-users
Date: 06/09/1996 01:05:39
> I just rebuilt everything, and now tn3270 doesn't work anymore... I get:
> 
> /usr/libexec/ld.so: Undefined symbol "_krb_err_txt" in \
> tn3270:/usr/lib/libtelnet.so.1.0
> 
> Is this a bug, or did I do something wrong? :)

The US domestic "libtelnet" has a module called "kerberos.c".  In it are
all sorts of references to krb_* functions, which have to be resolved by
linking against -lkrb.

An obvious Quick Hack is to change /usr/src/usr.bin/tn3270/tn3270/Makefile:

diff -rc1 Makefile /tmp/Makefile
*** Makefile    Mon Dec 11 12:52:42 1995
--- /tmp/Makefile       Sun Jun  9 00:52:37 1996
***************
*** 5,7 ****
--- 5,11 ----
  CFLAGS += -I${.CURDIR} -I.
+ .if !defined(EXPORTABLE_SYSTEM)
+ LDADD += -lcurses -ltermcap -ltelnet -lkrb -ldes -lcrypt
+ .else
  LDADD += -lcurses -ltermcap -ltelnet -lcrypt
+ .endif
  DPADD += ${LIBCURSES} ${LIBTERMCAP} /usr/lib/libtelnet.a ${LIBCRYPT}

But does everyone who builds -current outside North America always remember to
set EXPORTABLE_SYSTEM?

(The other way to fix it would be to make a /usr/src/domestic/usr.bin/tn3270
 tree, but that's pretty ridiculous just to change one line in a Makefile ... )

	- Greg