Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 177224 - mail-filter/spamassassin-fuzzyocr-3.5.1 requires tie::cache
Summary: mail-filter/spamassassin-fuzzyocr-3.5.1 requires tie::cache
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal
Assignee: Patrick McLean
URL:
Whiteboard:
Keywords:
Depends on: 182519
Blocks:
  Show dependency tree
 
Reported: 2007-05-05 19:09 UTC by MarisN
Modified: 2007-08-19 10:23 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description MarisN 2007-05-05 19:09:40 UTC
I emerged mail-filter/spamassassin-fuzzyocr-3.5.1 restarted spamd and got error, as tie::cache was not installed.

Error message: 
* Starting spamd ...
[4509] error: Can't locate Tie/Cache.pm in @INC (@INC contains: .. /etc/mail/spamassassin /usr/lib/perl5/vendor_perl/5.8.8/i686-linux /usr/lib/perl5/vendor_perl/5.8.8 /etc/perl /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at (eval 554) line 1.
[4509] error: Can't locate Tie/Cache.pm in @INC (@INC contains: .. /etc/mail/spamassassin /usr/lib/perl5/vendor_perl/5.8.8/i686-linux /usr/lib/perl5/vendor_perl/5.8.8 /etc/perl /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl .) at (eval 554) line 1.
[4509] error: BEGIN failed--compilation aborted at (eval 554) line 1.

I fixed problem by manualy installing tie::cache, but it should be installed during emerge process.

Reproducible: Always




[ Found these USE variables for mail-filter/spamassassin-fuzzyocr-3.5.1 ]
 U I
 + + amavis    : Enable support for amavis
 + + dbm       : Adds support for generic DBM databases.
 + + gocr      : Enable support for the gocr OCR engine
 - - logrotate : Install support files for logrotate
 - - mysql     : Adds mySQL Database support
 + + ocrad     : Enable support for the ocrad OCR engine
 - - tesseract : Enable support for the tesseract OCR engine

Portage 2.1.2.6 (default-linux/x86/2006.0, gcc-4.1.2, glibc-2.5-r2, 2.6.16-gentoo-r1 i686)
=================================================================
System uname: 2.6.16-gentoo-r1 i686 Celeron (Coppermine)
Gentoo Base System release 1.12.10
Timestamp of tree: Sat, 05 May 2007 09:30:10 +0000
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.17
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.21
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=pentium3 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.uni-c.dk/pub/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="alsa apache2 apm arts berkdb bitmap-fonts bzip2 cli cracklib crypt cups dri eds emboss encode esd foomaticdb fortran gdbm gif gpm gstreamer gtk2 iconv imlib isdnlog jpeg libg++ libwww mad midi mikmod motif mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre perl png pppd python quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts unicode utf8 vorbis x86 xml xorg xv zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Tom Knight (RETIRED) gentoo-dev 2007-05-10 20:33:08 UTC
This is strange, it's actually MLDBM::Sync that requires Tie::Cache but only optionally and it's not needed for spamassassin-fuzzyocr. The code that checks if Tie::Cache is installed is called from within an eval block which shouldn't cause spamd to fail. So something else is causing this problem.

Please post the versions that you have installed of the following packages:

mail-filter/spamassassin
dev-lang/perl
sys-apps/baselayout
Comment 2 MarisN 2007-05-11 12:40:26 UTC
I'm not an expert in perl, so I can't comment anything, except, that manually installing tie::cache fixed my problem.

mail-filter/spamassassin-3.2.0
dev-lang/perl-5.8.8-r2
sys-apps/baselayout-1.12.10-r3
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2007-06-14 10:07:07 UTC
I just hit this on one of my boxes.

In specific, it looks like DBI is bringing in Tie::Cache.
I've CC'd the perl folks because of DBI.

$ grep Tie::Cache /usr/lib64/perl5/ -r                                                                                                                                                     
/usr/lib64/perl5/5.8.8/Memoize/Expire.pm:Joshua Chamas's Tie::Cache module may be useful as an expiration
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/DBI/Changes.pm:  Added Tie::Cache::LRU example to docs thanks to Brandon Black.
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/DBI.pm:such as L<Tie::Cache::LRU>:
/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux/DBI.pm:  tie %$cache, 'Tie::Cache::LRU', 500;
/usr/lib64/perl5/vendor_perl/5.8.8/MLDBM/Sync.pm:eval "use Tie::Cache;";
/usr/lib64/perl5/vendor_perl/5.8.8/MLDBM/Sync.pm:    $CACHE_ERR && die("need Tie::Cache installed to use this feature: $@");
/usr/lib64/perl5/vendor_perl/5.8.8/MLDBM/Sync.pm:    my $cache = tie %cache, 'Tie::Cache', { MaxBytes => $size };
/usr/lib64/perl5/vendor_perl/5.8.8/MLDBM/Sync.pm:  # MEMORY CACHE LAYER with Tie::Cache
/usr/lib64/perl5/vendor_perl/5.8.8/MLDBM/Sync.pm:MLDBM::Sync also provides built in RAM caching with Tie::Cache
/usr/lib64/perl5/vendor_perl/5.8.8/MLDBM/Sync.pm:I have added an RAM caching layer with Tie::Cache, which 
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2007-06-14 10:07:56 UTC
And double-checking logs, DBI was upgraded recently on my machine, whereas MLDBM::Sync wasn't.
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2007-06-18 22:56:31 UTC
Tie-Cache is in the tree now, keywording bug about to go out. I didn't run into this until an upgrade of spamassassin, so i'm actually suspecting an interaction between the newer spamassassin and fuzzyocr is what is exposing this (since i'll be darned if i can see where its being forced in use by fuzzyocr explicityly). Enjoy.
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2007-06-18 23:29:33 UTC
mcummings: see my comment on here.
It's entirely co-incidental that it turned up with fuzzyocr.
The source of the problem is that dev-perl/DBI  needs on Tie::Cache now.
Comment 7 Michael Cummings (RETIRED) gentoo-dev 2007-06-28 00:29:15 UTC
(In reply to comment #6)
> mcummings: see my comment on here.
> It's entirely co-incidental that it turned up with fuzzyocr.
> The source of the problem is that dev-perl/DBI  needs on Tie::Cache now.
>

Robin - 

I looked through the src for dev-perl/DBI - there is a single reference to Tie::Cache in a pod, referenced as a means for creating a persistent cache, but it is not in any way/shape a dep.

torchwood DBI-1.54 # grep -ni "tie::cache" *
Changes:87:  Added Tie::Cache::LRU example to docs thanks to Brandon Black.
DBI.pm:4306:such as L<Tie::Cache::LRU>:
DBI.pm:4309:  tie %$cache, 'Tie::Cache::LRU', 500;


That and I'm not using a db for my fuzzocr and it still showed up :)
Comment 8 Tom Knight (RETIRED) gentoo-dev 2007-06-28 18:25:44 UTC
(In reply to comment #5)
> so i'm actually suspecting an
> interaction between the newer spamassassin and fuzzyocr is what is exposing
> this (since i'll be darned if i can see where its being forced in use by
> fuzzyocr explicityly). Enjoy.
> 

I suspect the same thing as I've got a very similar problem in bug 171436. In both cases the require/use in question in called from with an eval block and both users are using SA 3.2.0. So I'm asuming it's something to do with the way that SA is dealing with eval blocks but don't have enough perl-fu to know for sure.

I thought I'd seen a bug on SA's bugzilla which may have been related but can't seem to find it now. 
Comment 9 Christian Hartmann (RETIRED) gentoo-dev 2007-08-19 10:23:14 UTC
Apparently fixed in 3.5.1-r1. Closing this one for now.