# Spamassassin compile error

## kahler

Hi folks,

I just synced my portage tree and tried to upgrade spamassassin to version 3.0.2 but it fails during compilation with the following error:

```
spamc/configure.pl: version.h.pl: Failed to get the version from Mail::SpamAssassin.

Please use the --with-version= switch to specify it manually.

The error was:

version.h.pl: version.h.pl: version.h.pl: version.h.pl: version.h.pl: version.h.pl: version.h.pl: Can't locate Digest/SHA1.pm in @INC (@INC contains: ../lib /etc/perl /usr/lib/perl5/site_perl/5.8.5/i686-linux /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i686-linux /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.5/i686-linux /usr/lib/perl5/5.8.5 /usr/local/lib/site_perl .) at ../lib/Mail/SpamAssassin/EvalTests.pm line 33.

BEGIN failed--compilation aborted at ../lib/Mail/SpamAssassin/EvalTests.pm line 33.

Compilation failed in require at ../lib/Mail/SpamAssassin/PerMsgStatus.pm line 56.

BEGIN failed--compilation aborted at ../lib/Mail/SpamAssassin/PerMsgStatus.pm line 56.

Compilation failed in require at ../lib/Mail/SpamAssassin.pm line 74.

BEGIN failed--compilation aborted at ../lib/Mail/SpamAssassin.pm line 74.

Compilation failed in require at version.h.pl line 27.

cd spamc

/usr/bin/perl version.h.pl

version.h.pl: creating version.h

make: *** [spamc/Makefile] Error 2
```

Has anyone got the same error and knows what the problem is  :Question: 

Thanks for your help,

Kahler

----------

## g_os

Hi,

Ebuild not good.

Try: 

```
emerge Digest-SHA1
```

G_os

----------

## Gotterdammerung

 *g_os wrote:*   

> Hi,
> 
> Ebuild not good.
> 
> Try: 
> ...

 

It worked here, thanks!

----------

## kahler

Unfortunately this didn't work for me. has anyone else got an idea what could be wrong  :Question: 

----------

## nordom

 *kahler wrote:*   

> Unfortunately this didn't work for me. has anyone else got an idea what could be wrong 

 

```

echo dev-perl/HTML-Parser ~x86 >> /etc/portage/package.keywords

echo dev-perl/Digest-SHA1 ~x86 >> /etc/portage/package.keywords

```

And then re-emerge Digest-SHA1 and HTML-Parser. It worked here  :Smile: 

Good luck.

----------

## Jerome_A

Had the same problem.

As I always use ~x86 packages I don't need to use packages.keywords file and a simple emerge HTML-Parser and Digest-SHA1 are needed.

----------

## scoy

 *nordom wrote:*   

> 
> 
> ```
> 
> echo dev-perl/HTML-Parser ~x86 >> /etc/portage/package.keywords
> ...

 

Worked for me.  Thanks.

----------

## sigmalll

 *g_os wrote:*   

> Hi,
> 
> Ebuild not good.
> 
> Try: 
> ...

 

Worked for me

----------

## Derek_Burdick

I have received this error and several like it.  I believe it was caused by upgrading to 5.8.5.

  The best fix i've found is to run the following shell script, which reemerges all perl modules:

/usr/portage/dev-lang/perl/files/libperl_rebuilder

Without rebuilding all modules by running this script, you will find that periodically a module can not be found.

----------

## sprite

 *nordom wrote:*   

>  *kahler wrote:*   Unfortunately this didn't work for me. has anyone else got an idea what could be wrong  
> 
> ```
> 
> echo dev-perl/HTML-Parser ~x86 >> /etc/portage/package.keywords
> ...

 

this did it for me too, thanks

tag for future refrence..

----------

## gpeangel

 *Derek_Burdick wrote:*   

> I have received this error and several like it.  I believe it was caused by upgrading to 5.8.5.
> 
>   The best fix i've found is to run the following shell script, which reemerges all perl modules:
> 
> /usr/portage/dev-lang/perl/files/libperl_rebuilder
> ...

 

My system does not have this script. The solution that worked for me was the same one that seems to be working for everyone else.

----------

## pilla

maybe the perl-cleaner script?

----------

