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
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
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
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
And double-checking logs, DBI was upgraded recently on my machine, whereas MLDBM::Sync wasn't.
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.
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.
(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 :)
(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.
Apparently fixed in 3.5.1-r1. Closing this one for now.