rommel@runx.ips.oz (Stephen Joyce) (07/26/88)
In attempting to compile the JOVE editor for my NS32k system (SYSVR2), I come up against a few problems (mainly to do with curses). The linker cannot find.... BC, UP, or PC in the curses library (& SP is multiply defined ). Has anyone else using JOVE on a System 5 machine had similar problems or is my curses library deficient?? Michael _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- Stephen Joyce & Michael Katzmann / ATN Channel 7 Sydney. Engineering ACSnet: rommel@runx.ips CSNET: rommel@runx.ips.oz ARPA: rommel%runx.ips.oz@seismo.css.gov JANET: runx.ips.oz!rommel@ukc UUCP: {enea,hplabs,mcvax,prlb2,seismo,ubc-vision,ukc}!munnari!runx.ips.oz!rommel "No more things should be presumed to exist than are absolutly necessary." - William Occam (1280-1349)
woods@gpu.utcs.toronto.edu (Greg Woods) (07/30/88)
In article <1662@runx.ips.oz> rommel@runx.OZ (Michael Katzmann) writes: >In attempting to compile the JOVE editor for my NS32k system (SYSVR2), >I come up against a few problems (mainly to do with curses). >The linker cannot find.... BC, UP, or PC in the curses library (& SP >is multiply defined ). > Has anyone else using JOVE on a System 5 machine had similar >problems or is my curses library deficient?? > > Michael > >_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- >Stephen Joyce & Michael Katzmann / ATN Channel 7 Sydney. Engineering > >ACSnet: rommel@runx.ips CSNET: rommel@runx.ips.oz >ARPA: rommel%runx.ips.oz@seismo.css.gov JANET: runx.ips.oz!rommel@ukc >UUCP: {enea,hplabs,mcvax,prlb2,seismo,ubc-vision,ukc}!munnari!runx.ips.oz!rommel I've just completed porting Jove to my 386/ix (Sys V Rel 3.1.0.5) system. My base version of Jove was 4.9. The missing variables probably indicate a bug in your curses library. Unfortunately, the SysVR2 manuals I have are not very good about describing the curses/terminfo library. However, if you look in term.c, you'll see that PC is defined for SYSV, and declared otherwise. Both BC and UP are defined above. SP is also defined in this file. You might want to check the consistensy of your source and Makefile. I've also experienced other problems. Jove defines all of it's own stdio and printf library. I'm not sure I like this, though it may make for much more efficient code. However, the printf routines in fmt.c (and some in ask.c and elswhere) use varargs.h improperly, and non-portably. If your machine (compiler) builds its stack in a different manner than the currently supported hardware, you may have tremendous problems. I have fixed some of the blatant mis-uses, but others may have to stay. I found two bugs in 386/ix: In ask.c, fixing do_ask() to use varargs.h properly was impossible because of a compiler bug. The 386/ix (1.0.5) compiler cannot properly deal with function pointers. (Microsoft (Xenix) worked fine!) Also, disp.c calls byte_copy() which is actually memcpy() with a negative value for arg 3. I'm not sure why (maybe it really does want to copy the buffer backwards?) but the end result is a Bus Error. Arg 3 of memcpy() is now declared size_t, which is unsigned. I just un-defined the byte_copy() macro, which causes a simple C version to be compiled in. I found a "bug" (incompatablilty) in Jove: Using terminfo/curses with Jove may cause the display to periodically be corrupted with some terminal types. The problem originates in Jove's use of the termcap(terminfo) strings. The new terminfo low level routines include one called tparm(). It is used to parse and format the more complex parameterized strings. Jove, however, simply uses it's own version of sprintf(). The calls to sprintf() using M_DC, M_IC, etc., in disp. and elsewhere must be changed to something like: putpad(tparm(M_DC, value), ...); I hope to send my fixes to jpayne@??? "Real Soon Now". -- Greg Woods. UUCP: utgpu!woods, utgpu!{ontmoh, ontmoh!ixpierre}!woods VOICE: (416) 242-7572 [h] LOCATION: Toronto, Ontario, Canada
casey@admin.cognet.ucla.edu (Casey Leedom) (07/31/88)
In article <1662@runx.ips.oz> rommel@runx.OZ (Michael Katzmann) writes: > In attempting to compile the JOVE editor for my NS32k system > (SYSVR2), I come up against a few problems (mainly to do with curses). > The linker cannot find.... BC, UP, or PC in the curses library (& SP is > multiply defined ). > Has anyone else using JOVE on a System 5 machine had similar > problems or is my curses library deficient?? What version of Jove are you attempting to compile? Somewhere between version 4.6 and 4.8 I helped to fix a lot of the SYSV support. You can get a copy of the current version of Jove (4.9a) via anonymous FTP from cs.rochester.edu as the file public/jove.tar.4.9a. Casey