Subject: (2.13) System V based Unixes (SVR4, Solaris 2.x, SCO ODT 3.0, AIX, A/UX, DELL, ...) |
---|
NOTE: Solaris 2.x is based on SVR4.0. These tips are useful in a limited way. Read this section for general advice, but follow the "Solaris 2.x" section details. If you are running any non-BSD (i.e. System V based) Unix you MUST have the following option set: ## How should close-on-exec be done? Pick IOCTL or FCNTL. #### =()<CLX_STYLE @<CLX_STYLE>@>()= CLX_STYLE FCNTLThis includes SVR4, Solaris 2.x, A/UX and SCO ODT 3.0. (SVR4 means systems based on System V Release 4 from USL. Please check your manual to see if your operating system is based on SVR4.) This CLX_STYLE setting is clearly stated in the Install.ms file and repeated here since so many people post to news.software.nntp after ignoring the warnings. If CLX_STYLE isn't set to FCNTL, you'll get tons of overchan processes hanging around. With SCO ODT 3.0 and MOST systems, innd will link and run if you use IOCTL but eventually will stop answering incoming calls. Don't be fooled. Just because it compiles doesn't mean it's going to work. If you start innd on an AT&T SysV Rel 4.0 machine and get syslog messages like: localhost:15 cant setsockopt(SNDBUF) Protocol error localhost:15 cant setsockopt(RCVBUF) Protocol errorthen you should FIRST try to change HAVE_UNIX_DOMAIN to "DONT" in config.data. If that doesn't fix the problem, you should add "-USO_SNDBUF" to your DEFS parameter in config.data. Or, you can comment out the "setsockopt()" calls. This is also mentioned in the Install.ms file (which means if you needed to read it here, you weren't paying attention when you read Install.ms) Many SVR4 for i486 binaries (sendmail, mh, vmail, innd, rnews are now on ftp.germany.eu.net in pub/comp/i486/svr4/*.SVR4.tgz But remember that some of the above need site specific changes, so their usefulness may be limited. If you get syslog messages that say, "ME cant accept RCreader" please refer to Part 3 of this FAQ. DELL ships their Unix with /dev/log chmod'ed to 0644 which means nobody can syslog anything. Pretty stupid, eh? INN uses syslog extensively. If you find that you don't get any syslog messages check to see if you need to: "chmod 0666 /dev/log". Nobody knows why SVR4 boxes often give error messages like, "innd: accept: SIOCGPGRP failed errno 22". There's some sort of obscure bug with the SVR4 accept() call that can lead to these messages, if the executable is linked a certain way. I suspect that the same symbol -- for two totally separate variables or routines -- is defined in two different libraries, so if you link in certain ways you get the "wrong" thing. This error drove me crazy when I first built sendmail V8 on our NCR 3000 box. But I re-linked it a different way and I haven't seen the error since. Good riddance. I suggest you play around with your link libraries and/or order of linkage. kevin@cfc.com (Kevin Darcy) says he never gets these messages since he started using (in config.data): LIBS -lsocket -lnsl -lelfIf your SVR4 system still doesn't run correctly, check the Solaris 2.x suggestions. ------------------------------ [Last Changed: $Date: 1997/09/23 01:25:52 $ $Revision: 2.34 $] [Copyright: 1997 Heiko Rupp, portions by Tom Limoncelli, Rich Salz, et al.] |