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