bogofilter-static-1.0.0-1 RPM problem (CentOS 3.6)
David Relson
relson at osagesoftware.com
Fri Dec 23 14:42:40 CET 2005
On Fri, 23 Dec 2005 11:19:31 +0100
Matthias Andree wrote:
> David Relson <relson at osagesoftware.com> writes:
>
> >> What processor is this on? Also what version of DB4?
> >>
> >> I ask as had some NPTL problems on an AMD K6 with the default db4 rpm,
> >> issue (poorly) outlined here:
> >> http://thread.gmane.org/gmane.mail.bogofilter.general/8305
> >> and see this bug related to NPTL (not sure if this is your issue):
> >> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=91933
> >>
> >> Chris
> >
> > Al & Chris,
> >
> > My static rpm was built with BerkeleyDB 4.2.52. Using "ls -l" gives
> > the following info for the rpm and the files it installs..
>
> What Chris is saying is that although the executable may have been
> linked statically, it may still have inherited dependencies on the
> processor type, mutex support or kernel of the build machine through the
> statically linked Mandrake Berkeley DB.
>
> Remember the problem that transactions wouldn't work on some
> Fedora/processor combinations because only private environments were
> supported? I have forgotten the details, the grand picture was that
> their Berkeley DB had compiled NPTL (next-generation POSIX thread
> library) stuff in, which worked only for the latest processor
> generation.
>
> We need to solve the original problem though; I see these ways out:
>
> A. 1. build a Berkeley DB 4.2 RPM that installs libdb-4.2.so in the default
> shared library search path (usually /usr/lib on Linux).
>
> 2. make sure the OS has GNU libc 2.3.4 or newer installed.
>
> 3. install the shared-library version
>
> B. 1. install a suitable Berkeley DB for your system (bogofilter copes
> with 3.1, 3.2, 3.3, 4.0, 4.1, 4.2, 4.3, 4.4 and recommends 4.1 or
> later, personally, I'd use 4.2 or newer though)
>
> 2. use rpmbuild --rebuild on the official *.src.rpm.
>
> You'll have to use B for x86_64, ppc, sparc and sparc64 anyways.
>
> I haven't checked yet if LSB mentions anything WRT Berkeley DB that we
> could exploit to enhance compatibility.
>
>
> On a personal note, and this is distinctly *not* the official bogofilter
> team opinion: I have been against a convenience package such as
> bogofilter_static. Linking statically means more memory use, more
> efforts to upgrade should a relevant bug in Berkeley DB be found and
> fixed (since bogofilter_static will have to be rebuilt and reinstalled,
> too), and evidently it doesn't resolve problems as far as we'd wish it
> would. The motivation was to offer a binary RPM for people to try if their
> system has a different Berkeley DB package installed, when instead the
> system should have provided at least a compatibility package (SUSE do,
> db42, and it has regular and thread-local-store variants in /usr/lib and
> /usr/lib/tls). (Personal note ends here.)
Matthias,
I've been corresponding with Al for over a week now. His first message started with:
: I've downloaded bogofilter-1.0.0-1.i586.rpm and it runs fine on a Fedora
: Core 3 (Celeron). The RPM installs on a Red Hat 9 system (AMD Duron),
: but bogofilter dumps core. Don't have a debugger on that machine, so
: not sure why. Both machines show up as i686 (uname -m), which leaves me
: wondering if it is CPU issue since the RPM is i586.rpm.
For bogofilter to have problems on Red Hat 9 seems like something
important with which to deal! Even though RH9 isn't what I use, it is
one of the major distributions.
In any case, Al shifted to bogofilter-static in an attempt to lessen
BerkeleyDB dependencies. The problem remains the same, though he and I
have learned a bit more:
With /etc/bogofilter.cf containing 1 line:
bogofilter_dir=/root/bogofilter/testcore
and running in directory /root/bogofilter/testcore (which is empty,
except for the output of a prior "bogoutil -d" run), command
bogoutil -l wordlist.db < wordlist
produces a SIGSEGV, while command
bogoutil -C -l wordlist.db < wordlist
works fine.
I can't recall ever seeing a problem like this when populating a new
wordlist using bogoutil. Bogoutil has been reliable and robust, no?
With only a single process involved, threading issues seem improbable.
> Now that we've had the _static packages in 1.0.0, every future 1.0.X
> version will have to offer them for compatibility, but we cannot
> possibly guarantee that it works on every system.
My recollection is that we created the static rpms for 2 reasons:
people without build privileges and people with borked BerkeleyDB
versions. Building the static rpm is done automatically by my release
script. It's not a problem for me. By the way, here are the download
percentages (from SourceForge) for bogofilter-1.0.0:
cnt pct file
110 13.1% bogofilter-1.0.0-1.i586.rpm
69 8.2% bogofilter-1.0.0-1.src.rpm
262 31.3% bogofilter-1.0.0.tar.bz2
277 33.1% bogofilter-1.0.0.tar.gz
28 3.3% bogofilter-static-1.0.0-1.i586.rpm
17 2.0% md5sum
24 2.9% NEWS
51 6.1% RELEASE.NOTES
838
>
> AFAIK, the pkgsrc project of NetBSD fame has been ported and works on
> Linux, Solaris and other systems. So pkgsrc can also be used to build a
> bogofilter version (currently 0.96.6, supporting db4.3.29 or
> sqlite3.2.7) which may help building a local version, all dependencies
> will be resolved automatically within pkgsrc.
>
> --
> Matthias Andree
More information about the Bogofilter
mailing list