guest@proper.UUCP (guest account) (01/18/85)
I am having problems getting the Netnews software up and running
on my system. I am using a Zilog System 8000. The problem
code appears to be located in 'readr.c', 'visual.c' and 'expire.c'
this prevents me from being able to compile the critical
program 'readnews'. Apparently, there aren't very many
people out their running System III, and my newsfeed group,
'philabs' hasn't been able to help me. They've never seen
the problems I'm having before.
There is an include file 'setjmp.h' which my system doesn't
have. Following is a typical error.
Script started on Wed Jan 18 10:30:10 1984
#1 make install
cc -s -i readnews.o rfuncs.o rfuncs2.o rextern.o readr.o
process.o rpathinit.o digest.o funcs.o funcs2.o getdate.o header.o
ndir.o ftime.o -o readnews
_strchr ld: /lib/libc.a(strchr.o): - warning: symbol redefined in archive
_strrchr ld: /lib/libc.a(strrchr.o): - warning: symbol redefined in archive
_ftime ld: /lib/libc.a(ftime.o): - warning: symbol redefined in archive
Undefined:
_setjmp
_opendir
_readdir
_closedir
_longjmp
_end
*** Error code 1
Stop.
#2
script done on Wed Jan 18 10:32:41 1984
I cannot find setjmp and longjmp defined anywhere.
Thanks in advance for any help.
Brian Day
UUCP: philabs!exquisit!brianguy@rlgvax.UUCP (Guy Harris) (01/21/85)
> I am having problems getting the Netnews software up and running > on my system. I am using a Zilog System 8000. The problem > code appears to be located in 'readr.c', 'visual.c' and 'expire.c' > this prevents me from being able to compile the critical > program 'readnews'. Apparently, there aren't very many > people out their running System III, and my newsfeed group, > 'philabs' hasn't been able to help me. They've never seen > the problems I'm having before. > > There is an include file 'setjmp.h' which my system doesn't > have. Following is a typical error. This problem has nothing whatsoever to do with System III. It has to do with the fact that the calling sequence used by Zilog makes "setjmp/longjmp" have problems with register variables when used in the routine that calls "setjmp". They renamed "setjmp" to "setret" and "longjmp" to "longret"; you have to include "setret.h" (this is as of a couple of years ago; the names may have changed). If I remember the problem correctly, though, the same problem exists in all other machines where the calling sequence 1) saves a variable number of registers on the stack and 2) doesn't save anything on the stack indicating which registers were saved. The calling sequence used by most 68000 machines has the same problem (why waste cycles pushing a mask onto the stack when it wouldn't be used 99.44% of the time?). As such, I don't know whether Zilog really should have bothered fiddling "setjmp". (By the way, this probably should have been posted to net.news.b, not net.unix-wizards, as it's a problem with "news" not UNIX.) Guy Harris {seismo,ihnp4,allegra}!rlgvax!guy