Path: utzoo!attcan!uunet!ginosko!gem.mps.ohio-state.edu!rpi!crdgw1!ge-dab!peora!rtmvax!tarpit!rd From: rd@tarpit.uucp (Bob Thrush) Newsgroups: news.software.b Subject: Installing C News on System V/AT Summary: was C news on System V/AT (fix) Message-ID: <1989Jul16.000620.10241@tarpit.uucp> Date: 16 Jul 89 00:06:20 GMT References: <583@axis.fr> <1989Jul13.154431.28974@utzoo.uucp> <1989Jul15.150556.2080@tarpit.uucp> Reply-To: rd@tarpit.UUCP (Bob Thrush) Organization: Automation Intelligence,Inc; Orlando,FL Lines: 105 I have been running C News since July 5. I am extremely impressed with the increase in performance and *much* easier administration. With B News 2.11.14 and dbz, this system was processing about 12 articles/minute. It is now achieving about 28 articles/minute. Many thanks to Henry and Geoff for an important improvement to news software! I made several changes to C News to get it to run under Microport System V/AT Release 2.4. These changes were made before Henry's July 7th patches which (after a quick scan) fix some of the V/AT problems. Rather than integrating and testing the July 7th changes, I thought I would post what I have found so far. Once I have integrated the current patches, I will post a detailed patch to comp.unix.microport. I have one small problem remaining. It is appropriately named `superkludge'. Some details appear later in this posting. (In the meantime, I have been forcing comp.mail.maps expiry via the explist mechanism.) Here are my installation notes. Many of the problems are specific to V/AT 2.4. 1. Fixed relay/hdrdefs.c per postings from Henry Spencer and Rick Richardson. See <1989Jul15.150556.2080@tarpit.uucp> for details. 2. Fixed several Makefiles to add `;' after `test' commands per postings from bill@twwells.com. (The July 7th patch includes the details.) 3. Added the contributed (by Jon Zeeff) dbz module to the /lib/small and /lib/large system libraries. 4. Changed rna/lib/makefile to make "RANLIB = echo" per the comment during doit.bin execution. 5. Added getpwent(3C) function declarations to /usr/include/pwd.h. (It seems like BSD derived systems have some of these functions declared, while System V.{2,3} don't have any declared. Is there a generally accepted portable way to avoid this problem?) 6. V/AT was not able to use the supplied stdio library although the libstdio test was happy. The expire regression test showed up several cases of truncated strings. Instead of pursuing the problem I used the V/AT stdio. (I have not tried the July 7th stdio patch.) 7. I used compiler options "-Ml -g" (large model). expire (small model with optimization) generates (in nemalloc() ) a "newsbin/expire/expire: out of memory" message and terminates. With "expire -t -v" the message occurred after printing 91 article remove messages. The large model expire seems to work correctly. 8. relaynews needs setnewsids since the Microport setuid, setgid don't seem to do the job. 9. spacefor had to be altered since the V/AT `df' doesn't take a directory argument. 10. h/news.h had to be changed to work correctly under the V/AT large model. The small model seemed to work correctly. Compiling `libbig/active.fast.c' results in: "active.fast.c", line 58: compiler error: register allocation error I expanded the nnafree macro as a work around, as follows: *** h/news.h Sun Jul 2 13:35:22 1989 --- /tmp/news.h Sat Jul 15 12:59:28 1989 *************** *** 84,90 **** --- 84,96 ---- /* macros, of necessity */ /* nnafree(any **) where "any" is any type; must be a macro */ + /* The following was changed for the Microport large model */ + #ifdef iAPX286 + #define nnafree(mempp) if (*(mempp) != 0) \ + (free((char *)*(mempp)), (*(mempp) = 0)) + #else #define nnafree(mempp) (*(mempp) != 0? (free((char *)*(mempp)), (*(mempp) = 0)): 0) + #endif #ifdef lint nnfree(mempp) /* If *mempp is non-null, free it and zero it. */ register char **mempp; /* pointer to malloc'ed ptr. */ 11. I still don't have superkludge working. It complains during the regression test as follows: : "and that's mkhistory done, finally try superkludge" test -r arts/foo/1 ; test -r arts/foo/10 ; NEWSARTS=`pwd`/arts NEWSCTL=`pwd` NEWSBIN=`pwd`/nbin ./superkludge foo ./superkludge: message-id format problems: 1 test ! -r arts/foo/1 ; *** Error code 1 Stop. -- Bob Thrush UUCP: {ucf-cs,rtmvax}!tarpit!rd Automation Intelligence, 1200 W. Colonial Drive, Orlando, Florida 32804