On Wed, 2007-07-18 at 12:25 -0400, Kevin Plested wrote: > I'm trying to add a new plugin to Spamassassin, I located my plugin > directory on my server: > > /usr/local/lib/perl5/site_perl/5.8.4/Mail/SpamAssassin/Plugin/ > > by searching on my server for URIDNSBL.pm. > > When I put my new plugin into that directory, and call it from > init.pre, and run a --lint, I get the following: > > [11359] warn: plugin: failed to parse plugin (from @INC): Can't locate > MAIL/SpamAssassin/Plugin/PDFInfo.pm in @INC (@INC > contains: /usr/local/lib/perl5/site_perl/5.8.4/i386-freebsd > /usr/local/lib/perl5/site_perl/5.8.4 /usr/local/lib/perl5/5.8.4/i386-freebsd > /usr/local/lib/perl5/5.8.4 /usr/local/lib/perl5/site_perl/5.8.3/i386-freebsd > /usr/local/lib/perl5/site_perl/5.8.3 > /usr/local/lib/perl5/site_perl/5.8.1/i386-freebsd > /usr/local/lib/perl5/site_perl/5.8.1 /usr/local/lib/perl5/site_perl/5.6.1 > /usr/local/lib/perl5/site_perl/5.005 /usr/local/lib/perl5/site_perl > /usr/local/lib/perl5/vendor_perl/5.8.4/i386-freebsd > /usr/local/lib/perl5/vendor_perl/5.8.4 > /usr/local/lib/perl5/vendor_perl/5.8.3/i386-freebsd > /usr/local/lib/perl5/vendor_perl/5.8.3 /usr/local/lib/perl5/vendor_perl > /usr/local/lib/perl5/5.00503 /usr/local/lib/site_perl) at (eval 52) line 1. > [11359] warn: plugin: failed to create instance of plugin > MAIL::SpamAssassin::Plugin::PDFInfo: Can't locate object method "new" > via package "MAIL::SpamAssassin::Plugin::PDFInfo" at (eval 53) line 1. > > What am I doing wrong? > > Kevin Plested > Warpzone Web Services
It looks as if you are not defining a method named 'new' in your plugin. SA plugins are perl objects, they must define a constructor named 'new'. Look at some of the other plugins to see what needs to happen in the 'new' method.