# Emails coming through blank -- need urgent assistance

## dageyra

Hello, we are having a problem with our email server (Postfix).  We were trying to upgrade our Spamassassin package, which required an updated Perl.  We got Perl updated and have had trouble updating Spamassassin.  During this process, all emails coming into the system are now blank.  They don't have a From, Subject, no body text, though the time seems to be correct.

Where should we look to find out what is going on?  The main issue right now is just that emails work because every email that comes in is lost (the content is gone).  We've had to turn Postfix off to stop this from happening.

If related, here is the current issue we have when trying to get Spamassassin working:

```

make -j2 CC=i686-pc-linux-gnu-gcc 'LDFLAGS=-Wl,-O1 -Wl,--as-needed' spamc/Makefile

make: *** No rule to make target `spamc/Makefile'.  Stop.

emake failed

 * ERROR: mail-filter/spamassassin-3.3.1-r4 failed:

 *   emake failed

 *

 * Call stack:

 *     ebuild.sh, line  56:  Called src_configure

 *   environment, line 6010:  Called die

 * The specific snippet of code:

 *       emake CC="$(tc-getCC)" LDFLAGS="${LDFLAGS}" spamc/Makefile || die "emake failed"

 *

 * If you need support, post the output of 'emerge --info =mail-filter/spamassassin-3.3.1-r4',

 * the complete build log and the output of 'emerge -pqv =mail-filter/spamassassin-3.3.1-r4'.

 * The complete build log is located at '/usr/tmp/portage/mail-filter/spamassassin-3.3.1-r4/temp/build.log'.

 * The ebuild environment file is located at '/usr/tmp/portage/mail-filter/spamassassin-3.3.1-r4/temp/environment'.

 * S: '/usr/tmp/portage/mail-filter/spamassassin-3.3.1-r4/work/Mail-SpamAssassin-3.3.1'

>>> Failed to emerge mail-filter/spamassassin-3.3.1-r4, Log file:

>>>  '/usr/tmp/portage/mail-filter/spamassassin-3.3.1-r4/temp/build.log'

 * Messages for package dev-perl/Mail-SPF-2.007-r1:

 * The spfquery script was renamed to spfquery.pl because of file collisions.

 * GNU info directory index is up-to-date.

```

----------

## dageyra

There seems to be a problem with perl because now we are getting this:

```

vi: error while loading shared libraries: libperl.so.1: cannot open shared object file: No such file or directory

```

----------

## Ant P.

And revdep-rebuild doesn't fix it?

----------

## dageyra

 *Ant_P wrote:*   

> And revdep-rebuild doesn't fix it?

 

I found this topic here:

https://forums.gentoo.org/viewtopic-t-852675-start-0.html

So I'm trying revdep-rebuild and perl-cleaner.  revdep-rebuild found all kinds of packages that we do not use and threw an error at the end.  I will post the error, but I'm trying the perl-cleaner first which also errored (something about finding a package that doesn't actually exist), so I'm trying to update the portage tree, then will run perl-cleaner again.  If it still errors, I will post it here and also re-run revdep-rebuild and post the error there.  Thanks for the follow-up.

----------

## dageyra

Here is the bottom portion (with the error) of the perl-cleaner --all:

```

...

 * emerge -vD1 net-print/foomatic-db-engine:0 media-gfx/imagemagick:0 media-gfx/graphviz:0 app-editors/vim:0 net-nds/openldap:0 net-analyzer/net-snmp:0 mail-filter/spamassassin:0 dev-perl/Text-Iconv:0 dev-perl/IP-Country:0 dev-perl/DBI:0 dev-perl/Authen-PAM:0 dev-perl/XML-NamespaceSupport:0 dev-perl/Net-RBLClient:0 dev-perl/Net-IP:0 dev-perl/Net-SSLeay:0 dev-perl/HTML-Tagset:0 dev-perl/IO-String:0 dev-perl/Locale-gettext:0 dev-perl/IO-Socket-SSL:0 dev-perl/IO-Multiplex:0 dev-perl/Net-Telnet:0 dev-perl/Net-Ident:0 dev-perl/XML-Parser:0 dev-perl/Digest-SHA1:0 dev-perl/Convert-ASN1:0 dev-perl/Net-Daemon:0 dev-perl/net-server:0 dev-perl/BerkeleyDB:0 dev-perl/DBD-mysql:0 dev-perl/File-Tail:0 dev-perl/URI:0 dev-perl/XML-SAX-Writer:0 dev-perl/HTML-Tree:0 dev-perl/Socket6:0 dev-perl/XML-Filter-BufferText:0 dev-perl/Sys-Hostname-Long:0 dev-perl/Parse-Syslog:0 dev-perl/TermReadKey:0 dev-perl/XML-SAX:0 dev-perl/perl-ldap:0 dev-perl/libwww-perl:0 dev-perl/Digest-HMAC:0 dev-perl/IO-Socket-INET6:0 dev-perl/XML-Generator:0 dev-perl/Net-CIDR-Lite:0 dev-perl/Crypt-SSLeay:0 dev-perl/Geography-Countries:0 dev-perl/HTML-Parser:0 dev-perl/PlRPC:0 app-arch/rpm:0 dev-vcs/subversion:0 perl-core/Time-HiRes:0 virtual/perl-Time-HiRes:0 perl-core/IO-Zlib:0 virtual/perl-IO-Zlib:0 perl-core/PodParser:0 virtual/perl-PodParser:0 perl-core/Compress-Zlib:0 perl-core/Time-Local:0 virtual/perl-Time-Local:0 perl-core/IO-Compress-Base:0 perl-core/Test-Harness:0 virtual/perl-Test-Harness:0 perl-core/IO-Compress-Zlib:0 perl-core/Test-Simple:0 virtual/perl-Test-Simple:0 perl-core/Scalar-List-Utils:0 virtual/perl-Scalar-List-Utils:0 perl-core/libnet:0 virtual/perl-libnet:0 perl-core/Archive-Tar:0 virtual/perl-Archive-Tar:0 perl-core/digest-base:0 virtual/perl-digest-base:0 perl-core/Compress-Raw-Zlib:0 perl-core/DB_File:0 virtual/perl-DB_File:0 perl-core/Storable:0 virtual/perl-Storable:0

 * IMPORTANT: 6 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "perl-core/Compress-Zlib:0".

emerge: searching for similar names...

emerge: Maybe you meant any of these: dev-ruby/osmlib-base, dev-ruby/kirbybase, dev-ruby/snmplib?

 * IMPORTANT: 6 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

 * perl-cleaner is stopping here:

 * Fix the problem and start perl-cleaner again.

```

I will try revdep-rebuild again, but that was finding very strange packages (like ldap, which we do not use at all).

----------

## dageyra

Here is the result of revdep-rebuild:

```

# revdep-rebuild

Configuring search environment for revdep-rebuild

Checking reverse dependencies...

Packages containing binaries and libraries broken by a package update

will be emerged.

Collecting system binaries and libraries... done.

  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.

  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...

  broken /usr/bin/vim (requires  libperl.so.1)

  broken /usr/bin/w3c (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/bin/webbot (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/bin/www (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/graphviz/perl/libgv_perl.so (requires  libperl.so.1)

  broken /usr/lib/libmd5.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libnetsnmpagent.so.15.1.0 (requires  libperl.so.1)

  broken /usr/lib/libnetsnmptrapd.so.15.1.0 (requires  libperl.so.1)

  broken /usr/lib/libpics.so.0.0.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwapp.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwcache.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwcore.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwdir.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwfile.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwftp.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwgopher.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwhtml.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwhttp.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwinit.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwmime.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwmux.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwnews.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwsql.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwssl.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwstream.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwtelnet.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwtrans.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwutils.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwxml.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libwwwzip.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libxmlparse.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/libxmltok.so.0.1.0 (requires  libcrypto.so.0.9.7 libmysqlclient.so.14 libssl.so.0.9.7)

  broken /usr/lib/openldap/openldap/back_perl-2.3.so.0.2.29 (requires  libperl.so.1)

  broken /usr/lib/perl5/site_perl/5.8.8/i686-linux/auto/Image/Magick/Magick.so (requires  libperl.so.1)

  broken /usr/libexec/gpg2keys_curl (requires  libcurl.so.3)

  broken /usr/libexec/gpg2keys_hkp (requires  libcurl.so.3)

  broken /usr/sbin/snmpd (requires  libperl.so.1)

  broken /usr/sbin/snmptrapd (requires  libperl.so.1)

 done.

  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... done.

  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order...

Warning: Failed to resolve package order.

Will merge in "random" order!

Possible reasons:

- An ebuild is no longer in the portage tree.

- An ebuild is masked, use /etc/portage/packages.keyword

  and/or /etc/portage/package.unmask to unmask it

..... done.

  (/root/.revdep-rebuild.5_order)

All prepared. Starting rebuild...

emerge --oneshot  =media-gfx/imagemagick-6.5.4.10 =media-gfx/graphviz-2.20.3 =app-editors/vim-core-7.2 =app-editors/vim-7.2 =net-nds/openldap-2.3.41 =app-crypt/gnupg-2.0.9 =net-analyzer/net-snmp-5.4.1-r1 =net-libs/libwww-5.4.0-r4

....

 * IMPORTANT: 6 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "=media-gfx/imagemagick-6.5.4.10".

emerge: searching for similar names...

emerge: Maybe you meant any of these: dev-ruby/osmlib-base, dev-ruby/kirbybase, dev-ruby/snmplib?

 * IMPORTANT: 6 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

revdep-rebuild failed to emerge all packages

you have the following choices:

- if emerge failed during the build, fix the problems and re-run revdep-rebuild

    or

- use -X or --package-names as first argument (trys to rebuild package, not exact

  ebuild)

    or

- set ACCEPT_KEYWORDS="~<your platform>" and/or /etc/portage/package.unmask

  (and remove /root/.revdep-rebuild.5_order to be evaluated again)

    or

- modify the above emerge command and run it manually

    or

- compile or unmerge unsatisfied packages manually, remove temporary files and

  try again (you can edit package/ebuild list first)

To remove temporary files, please run:

rm /root/.revdep-rebuild*.?_*

```

I am going to try to emerge the packages individually without specific version markers (so emerge -av imagemagick, etc).

----------

## cach0rr0

heh...yeah, this one's burned me before

```

qlist -CI dev-perl |xargs emerge -v 

```

then you might follow that up with a perl-cleaner --all just to make sure 

happened to me when 5.12 got pulled in. Broke amavisd-new something fierce, and then since vim was linked against the older libperl, had to go back to using nano until i could re-merge vim

----------

## cach0rr0

by the by, revdep-rebuild is failing because it can't find a handful of those packages in that specific version

but, thankfully, it already told you what packages you need to pull in 

```

media-gfx/imagemagick-6.5.4.10 =media-gfx/graphviz-2.20.3 =app-editors/vim-core-7.2 =app-editors/vim-7.2 =net-nds/openldap-2.3.41 =app-crypt/gnupg-2.0.9 =net-analyzer/net-snmp-5.4.1-r1 =net-libs/libwww-5.4.0-r4

```

so try:

```

emerge -v media-gfx/imagemagick media-gfx/graphviz app-editors/vim-core app-editors/vim net-nds/openldap app-crypt/gnupg net-analyzer/net-snmp net-libs/libwww

```

if for some reason it cant merge any one of those, simply remove it for the list for the time being, as it'll be the only one from the list that's broken

And you'll still likely have to clean up your perl bits and bobs - if perl-cleaner doesn't work, the qlist -CI dev-perl |xargs emerge should

----------

## dageyra

 *cach0rr0 wrote:*   

> heh...yeah, this one's burned me before
> 
> ```
> 
> qlist -CI dev-perl |xargs emerge -v 
> ...

 

yeh, i'm using nano currently too, though I think vim is finished and should be ready by now.  the only that gave me problem emerging manually was openldap, so I will tackle that when finished.  Thanks for the tip on qlist, I will try that out if I still have problems when the emerge(s) finishes.

----------

## dageyra

So, after all that, I still have the problem of blank emails.  I commented out the line in procmailrc that passes email through spamassassin and the problem is gone, so the issue is that spamassassin won't compile.  I still get the same errors as above (very first post), any thoughts?

----------

## cach0rr0

 *dageyra wrote:*   

>  Thanks for the tip on qlist, I will try that out if I still have problems when the emerge(s) finishes.

 

np

i would still expect problems after the emerge finishes (assuming you're merging the packages shown by revdep-rebuild) because you still have loads of b0rked perl packages that your mail system is going to depend on 

so the steps for cleaning those up should still apply. perl-cleaner will still most likely fail, because that Zlib package is missing (reason being, the one for 5.12 has been folded into a package with a different name - i dont recall the exact name offhand, though)

If you're still missing stuff after merging all the dev-perl packages, it should show you what it's missing when you restart whichever mail service uses said perl package (e.g. "cant locate module BLAH.pm in @INC:/blah"). If you ARE still missing things, best bet is to poke around with eix and see if anything with a similiar name exists - if in doubt, post the error, we'll get you sorted. 

At least this is familiar breakage so I'm not totally lost helping  :Smile: 

----------

## cach0rr0

 *dageyra wrote:*   

> So, after all that, I still have the problem of blank emails.  I commented out the line in procmailrc that passes email through spamassassin and the problem is gone, so the issue is that spamassassin won't compile.  I still get the same errors as above (very first post), any thoughts?

 

that's where the qlist piece should come into play

i just type too slowly it seems !

when i mentioned my issues with amavisd-new, it was because i was calling spamassassin through amavis, and SA uses these perl packages - so even though you dont use amavis, it would still affect you

----------

## dageyra

 *cach0rr0 wrote:*   

>  *dageyra wrote:*   So, after all that, I still have the problem of blank emails.  I commented out the line in procmailrc that passes email through spamassassin and the problem is gone, so the issue is that spamassassin won't compile.  I still get the same errors as above (very first post), any thoughts? 
> 
> that's where the qlist piece should come into play
> 
> i just type too slowly it seems !
> ...

 

thnx, i figured out the issue, the Html-Parser module did not get picked up for some reason by the qlist.  I updated it manually, then Spamasassin installed fine and now the emails are working.  I think I need to really explore the perl stuff a bit more, but at least that problem is out of the way.

----------

