Compilation problem with bogofilter-0.10.1.3 - tests still fail.
Nick Simicich
njs at scifi.squawk.com
Thu Jan 30 19:03:25 CET 2003
Downloaded the new release of bogofilter, it would not compile on my system.
[root at scifi bogofilter-0.10.1.3]# make
make all-recursive
make[1]: Entering directory `/var/spool/news/bogofilter/bogofilter-0.10.1.3'
Making all in dcdflib
make[2]: Entering directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/dcdflib'
Making all in src
make[3]: Entering directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/dcdflib/src'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/dcdflib/src'
make[3]: Entering directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/dcdflib'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/dcdflib'
make[2]: Leaving directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/dcdflib'
Making all in .
make[2]: Entering directory `/var/spool/news/bogofilter/bogofilter-0.10.1.3'
source='globals.c' object='globals.o' libtool=no \
depfile='.deps/globals.Po' tmpdepfile='.deps/globals.TPo' \
depmode=gcc /bin/sh ./depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I. -I./dcdflib/doc
-I/root/bogofilter/db-4.1.24/build_unix/ -DBOGOFILTER -g -O2 -Wall -W
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wbad-function-cast
-Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return
-Wmissing-declarations -Wnested-externs -ggdb -fno-common -Wchar-subscripts
-Wcomment -Wimplicit -Wreturn-type -c `test -f 'globals.c' || echo
'./'`globals.c
In file included from globals.h:10,
from globals.c:14:
common.h:13: inttypes.h: No such file or directory
make[2]: *** [globals.o] Error 1
make[2]: Leaving directory `/var/spool/news/bogofilter/bogofilter-0.10.1.3'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/spool/news/bogofilter/bogofilter-0.10.1.3'
make: *** [all] Error 2
[root at scifi bogofilter-0.10.1.3]# locate inttypes.h
[root at scifi bogofilter-0.10.1.3]#
I guess all them new-fangled systems have inttypes.h, but I don't. This is
sort of what things like configure are supposed to take care of, I guess.
It looks like inttypes.h is included because uint32_t is used in several
places. Unfortunately, this system seems to have no definition that
corresponds with uint32_t.
What was needed was a typedef for uint32_t.
common.h:typedef unsigned int uint32_t;
I added that instead of the missing inttypes.h file, and the compilation
completed successfully.
These two tests still fail:
[root at scifi bogofilter]# ./t.robx -v
Results are in ./robx.20030130. Remove it after testing.
want: 253287, have: 252954
[root at scifi bogofilter]# ./t.lexer.mbx -v
Results are in ./lexer.mbx.20030130. Remove it after testing.
[root at scifi bogofilter]# echo $?
1
[root at scifi bogofilter]#
[root at scifi bogofilter]# pwd
/root/bogofilter/bogofilter-0.10.1.3/tests/bogofilter
[root at scifi bogofilter]# make check
make check-TESTS
make[1]: Entering directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/test
s/bogofilter'
FAIL: t.lexer.mbx
FAIL: t.robx
PASS: t.split
PASS: t.systest
PASS: t.grftest
===================
2 of 5 tests failed
===================
make[1]: *** [check-TESTS] Error 1
make[1]: Leaving directory
`/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests
/bogofilter'
make: *** [check-am] Error 2
[root at scifi bogofilter]#
[root at scifi bogofilter]# sh -x ./t.lexer.mbx -v
+ set -e
+ : .
++ pwd
+ relpath=/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../..
+ NODB=1
+ . ./../t.frame
++ set -e
++ : /var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../..
++ : .
++ [ -z ]
+++ basename ./t.lexer.mbx
+++ sed s@^t.@@
++ NAME=lexer.mbx
+++ date +%Y%m%d
++ DATE=20030130
++ TMPDIR=./lexer.mbx.20030130
++ SUPPRESS_DELETE=NO
++ rm -rf ./lexer.mbx.20030130
++ mkdir ./lexer.mbx.20030130
++ test xNO = x
++ echo Results are in ./lexer.mbx.20030130. Remove it after testing.
Results are in ./lexer.mbx.20030130. Remove it after testing.
++ BOGOFILTER_DIR=./lexer.mbx.20030130
++ export BOGOFILTER_DIR
++ [ -z 1 ]
++ true
++ MALLOC_CHECK_=2
++ export MALLOC_CHECK_
++ false
+ OUT=lexer.mbx.out
+ verbose=0
+ [ -v = -v ]
+ verbose=1
+ BOGOLEXER=
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../
../bogolexer
+
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogolexer
-p
+ sort -u
+
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogolexer
-p
+ sort -u
++ cat ./lexer.mbx.20030130/spam.2
++ wc -l
++ cat ./lexer.mbx.20030130/good.2
++ wc -l
+ RESULT= 1145. 3074
++ echo 1145. 3074
++ sed s@ @@g
+ RESULT=1145.3074
+ WANT=1147.3075
+ [ 1 -ne 0 ]
+ echo want: 1147.3075, have: 1145.3074
+ [ ! -z ]
+ test 1145.3074 = 1147.3075
[root at scifi bogofilter]#
[root at scifi bogofilter]# sh -x ./t.robx -v
+ set -e
+ : .
++ pwd
+ relpath=/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../..
+ NODB=1
+ . ./../t.frame
++ set -e
++ : /var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../..
++ : .
++ [ -z ]
+++ basename ./t.robx
+++ sed s@^t.@@
++ NAME=robx
+++ date +%Y%m%d
++ DATE=20030130
++ TMPDIR=./robx.20030130
++ SUPPRESS_DELETE=NO
++ rm -rf ./robx.20030130
++ mkdir ./robx.20030130
++ test xNO = x
++ echo Results are in ./robx.20030130. Remove it after testing.
Results are in ./robx.20030130. Remove it after testing.
++ BOGOFILTER_DIR=./robx.20030130
++ export BOGOFILTER_DIR
++ [ -z 1 ]
++ true
++ MALLOC_CHECK_=2
++ export MALLOC_CHECK_
++ false
+ : awk
+ verbose=0
+ [ -v = -v ]
+ verbose=1
+ [ -d ./robx.20030130/tests ]
+ mkdir -p ./robx.20030130/tests
+ CONFIG=./robx.20030130/test.cf
+ BOGOFILTER=
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogofilter
-c ./robx.20030130/test.cf -y 0
+ BOGOUTIL=
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogoutil
+ SYSTEST=.
+ cat
+
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogofilter
-c ./robx.20030130/test.cf -y 0 -r -s
+
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogofilter
-c ./robx.20030130/test.cf -y 0 -r -n
+ [ ! -z ]
+
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogoutil
-d ./robx.20030130/spamlist.db
+
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogoutil
-d ./robx.20030130/goodlist.db
+
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogoutil
-vvv -R ./robx.20030130
+ [ ! -z ]
++
/var/spool/news/bogofilter/bogofilter-0.10.1.3/tests/bogofilter/../../bogoutil
-w ./robx.20030130 .ROBX
++ awk /.ROBX/ { print $2; }
+ RESULT=252954
+ WANT=253287
+ [ 1 -ne 0 ]
+ echo want: 253287, have: 252954
want: 253287, have: 252954
+ test 252954 = 253287
[root at scifi bogofilter]#
Again, I copied the directory to a web server - it is at
http://majordomo.squawk.com/njs/bogofilter2/ and a tar-up of the directory
is at http://majordomo.squawk.com/njs/bogofilter2/bogofilter.whoops.tgz
--
SPAM: Trademark for spiced, chopped ham manufactured by Hormel.
spam: Unsolicited, Bulk E-mail, where e-mail can be interpreted generally
to mean electronic messages designed to be read by an individual, and it
can include Usenet, SMS, AIM, etc. But if it is not all three of
Unsolicited, Bulk, and E-mail, it simply is not spam. Misusing the term
plays into the hands of the spammers, since it causes confusion, and
spammers thrive on confusion. Spam is not speech, it is an action, like
theft, or vandalism. If you were not confused, would you patronize a spammer?
Nick Simicich - njs at scifi.squawk.com - http://scifi.squawk.com/njs.html
Stop by and light up the world!
More information about the Bogofilter
mailing list