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