[net.micro.att] Dagnab ATTIS "sort of" UNIX

install@kosman.UUCP (Kevin O'Gorman) (04/03/86)

Running the 3.0 development set on my UNIX PC, I recently tried to compile
and link the "battleship" sources which appeared under (I think) mod.sources
and I got quite a list of undefined symbols, all coming *out* of the curses
library.

Since I had run into behavior like this before when I was trying to figure
out the phone system calls on the machine, I tried what worked before: change
the Makefile to use the shared library.  I got a bunch of symbol conflicts
(no surprise really, given the way the shared library ifile works) but I still
had a few undefineds.  I haven't tried too hard to sort this out, but I am
wondering who else has been running into this sort of stuff, whether anyone
knows why the "normal" UNIX libraries are incomplete (and to what extent),
and if there are any helpful things I should know.

It does seem that the Battleship program is so small and simple (except that
it does use curses) that it ought to cause no problems.  It's enough to make
you really hate ATTIS.

I hate to think I'm going to have to convert all this stuff to use TAM, when
I should be able to snag it off usenet and run, but that's the way it goes. . .

				Kevin O'Gorman
				...{ihnp4,hjuxa}!wcom!kosman!install

rjk@mrstve.UUCP (Richard Kuhns) (04/05/86)

What is currently running on the 7300/3b1 is UNIX, it's just not Release 2.

Based on my past experience, here's what happened:

1) Up to, but not including, Release 2, `curses' and the termcap database
   were 2 seperate entities.  libtermcap.a had all the *low-level* functions,
   while libcurses.a had all the higher level functions.  The high level
   functions in libcurses.a depended on the functions in libtermcap.a, so
   to compile a program using curses you have to include
		-lcurses -ltermcap
   IN THAT ORDER when you compile.

2) In Release 2, all (as far as I know) of the functions formerly in
   libtermcap.a were included in libcurses.a, making libtermcap.a
   unneeded.

To summarize:

System V, Release 2:  cc -o battle battle.c -lcurses

System V, Release ?:  cc -o battle battle.c -lcurses -ltermcap
(7300/3b1, whatever
 it is)

Hope this helps.
-- 
Rich Kuhns		{ihnp4, decvax, etc...}!pur-ee!pur-phy!mrstve!rjk

paul@whuts.UUCP (HO) (04/07/86)

Kevin O'Gorman wrote:
> Running the 3.0 development set on my UNIX PC, I recently tried to compile
> and link the "battleship" sources which appeared under (I think) mod.sources
> and I got quite a list of undefined symbols, all coming *out* of the curses
> library.

Unixpc 2.0 curses is a subset of the real curses, the subset is
called Mini-curses.  I think 3.0 is still running Mini-curses.
Since it is a subset, a lot of the functions are not included.

I had the same problem when I tried to compile rogue, lots of
undefined symbols. What I did was to compile the real curses,
and get rid of the Mini-curses.

	Paul Ho