[ Usenet FAQs | Web FAQs | Documents | RFC Index ]
    Search the FAQ Archives

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Part8 - Part9 - Single Page

Top Document: INN FAQ Part 2/9: Specific notes for specific operating systems
Previous Document: (2.7) UnixWare tips
Next Document: (2.9) A/UX 3.0 (Macintosh) tips


(2.8) Linux tips


Get inn-1.4-linux-0.1.tar from ftp://sunsite.unc.edu/pub/Linux/system/News
It contains instructions for installing INN on a Linux system and a
working config.data file.  (from ghio@myriad.pc.cc.cmu.edu)

If you don't follow the directions in inn-1.4-linux-0.1.tar, here 
are some of the problems you might have:

> nntpsend.log says the following.

> nntpsend: [214:222] innxmit -a -t300 -T1800
> travelers.mail.cornell.edu ...
> Ignoring line "cornell/test/13 805 ..."
> sh: PPID read-only variable

Tomasz Surmacz <tsurmacz@ict.pwr.wroc.pl> writes:

If you are using INN under Linux or have your /bin/sh a symlink to
/bin/bash the above problem appears (in nntpsend precisely speaking,
not innxmit)

The problem is that bash already defines the PPID variable and
nntpsend is trying to use it too.  To fix this:

1. comment out line PPID = $$
2. change all occurrences of PPID to say PARENTPID

I have also noticed that changing first line of nntpsend from
'#!/bin/sh' to "#!/bin/bash" helps in such occasions.

Slackware 3.0 seems to have a different incarnation of df than others
- so if you want to run innwatch change the following in innwatch.ctl:

From:
< ##  =()<!!! df -i . | awk 'NR == 2 { print $3 }' ! lt !  @<INNWATCH_SPOOLNODES>@ ! throttle ! No space (spool inodes)>()=
< !!! df -i . | awk 'NR == 2 { print $3 }' ! lt ! 200 ! throttle ! No space (spool inodes)
To:
> ##  =()<!!! df -i . | awk 'NR == 2 { print $4 }' ! lt !  @<INNWATCH_SPOOLNODES>@ ! throttle ! No space (spool inodes)>()=
> !!! df -i . | awk 'NR == 2 { print $4 }' ! lt ! 200 ! throttle ! No space (spool inodes)

(from Jim Kerr <jak7@opsirm1.em.cdc.gov>)

------ 

Linux 2.x complains at compiling:

gcc -O -o nnrpd article.o group.o commands.o misc.o newnews.o nnrpd.o
post.o loadave.o ../libinn.a
loadave.o(.text+0x3b): undefined reference to `nlist'

You can either add /usr/lib/libelf.a as missing library to the
Makefile or apply the following patch (with some fuzz ... ) from
coneill@premier1.premier.net (Clayton O'Neill) :

--- /usr/local/news/INN/nnrpd/loadave.c Fri Jan 29 10:51:58 1993
+++ loadave.c   Wed Jul 17 15:36:30 1996
@@ -1,8 +1,28 @@
-/*  $Revision: 2.34 $
+/*  $Revision: 2.34 $
 **
 */
 #include "nnrpd.h"
 #if    NNRP_LOADLIMIT > 0
+#ifdef linux
+
+/*
+**  Get the current load average as an integer.
+*/
+int
+GetLoadAverage()
+{
+    FILE *ProcLoadAve;
+    float load;
+
+    if ((ProcLoadAve=fopen("/proc/loadavg", "r"))==NULL)
+        return -1;
+    if (fscanf(ProcLoadAve,"%f", &load)!=1)
+       return -1;
+    fclose(ProcLoadAve);
+    return (int)(load+0.5);
+}
+
+#else
 #include <nlist.h>
[...]
+ #endif  /* linux */
#endif  /* NNRP_LOADLIMIT > 0 */

------ 

In some newer versions of Linux, nnrpd seems to seg fault. Reason is
the size of fd_set (1024 bit), but the macros FD_??? operate on
256bit). This happens if HAVE_UNISTD is set to DONT, so set it to DO.
If it still happens, then include <sys/time.h> at the top of include/clibrary.h

------ 

It might be that rc.news never terminates in unoff4 (and probably
other versions), when having DOINNWATCH=true. If this happenes then
include a '&' in rc.news as shown:

: ${DOINNWATCH} && {
:     ( sleep 60 ; ${INNWATCH} & ) &
                              ^^^



Top Document: INN FAQ Part 2/9: Specific notes for specific operating systems
Previous Document: (2.7) UnixWare tips
Next Document: (2.9) A/UX 3.0 (Macintosh) tips

Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Part8 - Part9 - Single Page


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
hwr@pilhuhn.de (Heiko W.Rupp)

Last Update October 22 2009 @ 05:25 AM

Some parts © 2009 Advameg, Inc.