Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 333125 - emerge -u =mail-filter/spamassassin-3.3.1-r3 fails due to missing spamc/Makefile
Summary: emerge -u =mail-filter/spamassassin-3.3.1-r3 fails due to missing spamc/Makefile
Status: RESOLVED DUPLICATE of bug 192319
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-17 04:33 UTC by Stephen J. Turnbull
Modified: 2010-08-18 17:36 UTC (History)
0 users

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


Attachments
spamassassin build log full of lies about what isn't installed (build.log,7.30 KB, text/plain)
2010-08-17 04:35 UTC, Stephen J. Turnbull
Details
Output of "perl -V" (perl-V,3.63 KB, text/plain)
2010-08-17 08:43 UTC, Stephen J. Turnbull
Details
Output of "grep DNS.pm ..." (grep-DNS-pm,154 bytes, text/plain)
2010-08-17 08:45 UTC, Stephen J. Turnbull
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stephen J. Turnbull 2010-08-17 04:33:21 UTC
This ebuild totally sucks.  Well, that's the truth, and AFAICS it needs to be redone from square 1.  Do not pass GO, no way in hell do you deserve $200.

Pretty much everything in the log (attached file) seems to be a lie.  I do have Net-DNS installed, I do have NetAddr-IP installed, I do IP-Country installed, I do have Net-Ident installed, and I'm not going to bother verifying any more unless you need me to do so.

Reproducible: Always

Steps to Reproduce:
1.emerge -u =mail-filter/spamassassin-3.3.1-r3
2.
3.

Actual Results:  
Here's the error message:

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

>>>  '/var/tmp/portage/mail-filter/spamassassin-3.3.1-r3/temp/build.log'

 * Messages for package mail-filter/spamassassin-3.3.1-r3:

 * ERROR: mail-filter/spamassassin-3.3.1-r3 failed:
 *   emake failed
 * 
 * Call stack:
 *     ebuild.sh, line  54:  Called src_compile
 *   environment, line 2814:  Called die
 * The specific snippet of code:
 *       emake spamc/Makefile || die "emake failed";
 * 
 * If you need support, post the output of 'emerge --info =mail-filter/spamassassin-3.3.1-r3',
 * the complete build log and the output of 'emerge -pqv =mail-filter/spamassassin-3.3.1-r3'.
 * The complete build log is located at '/var/tmp/portage/mail-filter/spamassassin-3.3.1-r3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/mail-filter/spamassassin-3.3.1-r3/temp/environment'.
 * S: '/var/tmp/portage/mail-filter/spamassassin-3.3.1-r3/work/Mail-SpamAssassin-3.3.1'
'/var/tmp/portage/mail-filter/spamassassin-3.3.1-r3/temp/build.log

Expected Results:  
Properly upgraded spamassassin.

Portage 2.1.8.3 (default/linux/amd64/10.0/developer, gcc-4.3.5, glibc-2.12.1-r0, 2.6.34-rc5 x86_64)
=================================================================
System uname: Linux-2.6.34-rc5-x86_64-Dual_Core_AMD_Opteron-tm-_Processor_265-with-gentoo-2.0.1
Timestamp of tree: Tue, 17 Aug 2010 00:45:01 +0000
app-shells/bash:     4.1_p7
dev-java/java-config: 1.3.7-r1, 2.1.11
dev-lang/python:     2.3.6-r2, 2.4.6, 2.5.4-r4, 2.6.2-r1, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65-r1
sys-devel/automake:  1.4_p6-r1, 1.5-r1, 1.6.3-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       3.4.6-r2, 4.1.2, 4.2.4-r1, 4.3.5, 4.4.4-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.10
virtual/os-headers:  2.6.34
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA AdobeFlash-10.1"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-Os -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-Os -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests collision-protect digest distlocks fixpackages multilib-strict news parallel-fetch protect-owned sandbox sfperms sign splitdebug strict test test-fail-continue unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.gg3.net/ ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO http://gentoo.channelx.biz/"
LDFLAGS="-Wl,--hash-style=gnu -Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi alsa amd64 apache2 berkdb bluetooth bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam firefox flac fortran gdbm gif gpm gtk hal iconv ipv6 jpeg lcms ldap libnotify mad mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib mysql ncurses nls nptl nptlonly ogg opengl openmp pam pango paste64 pcre pdf perl png ppds pppd python qt3support qt4 readline reflection sdl session snmp spell spl sse sse2 ssl startup-notification svg sysfs tcpd tiff toolbar truetype unicode usb vorbis x264 xcb xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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 mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa via vmware voodoo" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Stephen J. Turnbull 2010-08-17 04:35:28 UTC
Created attachment 243303 [details]
spamassassin build log full of lies about what isn't installed
Comment 2 Torsten Veller (RETIRED) gentoo-dev 2010-08-17 06:03:46 UTC
- Which perl version do you have installed?
- Did you upgrade your perl recently?
- Did you change useflags of perl recently?
- Did you run `perl-cleaner --all` after upgrading/changing useflags?

(Attach `perl -V` and `grep DNS.pm /var/db/pkg/dev-perl/Net-DNS-*/CONTENTS` please.)
Comment 3 Stephen J. Turnbull 2010-08-17 08:43:11 UTC
(In reply to comment #2)
> - Which perl version do you have installed?

5.12.1-r1

> - Did you upgrade your perl recently?

The binary is dated July 21.

> - Did you change useflags of perl recently?

No, I didn't.

> - Did you run `perl-cleaner --all` after upgrading/changing useflags?

No.

I just tried running it, and it blew up, saying

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

Calculating dependencies... done!

emerge: there are no ebuilds to satisfy "dev-db/postgresql:0".

 * perl-cleaner is stopping here:
 * Fix the problem and start perl-cleaner again.

emerge -s postgresql says:

*  dev-db/postgresql
      Latest version installed: 8.2.14
      Homepage:      http://www.postgresql.org/
      Description:   Sophisticated and powerful Object-Relational DBMS.
      License:       POSTGRESQL

ls -d /usr/portage/dev-db/postgresql* says:

/usr/portage/dev-db/postgresql-base  /usr/portage/dev-db/postgresql-server
/usr/portage/dev-db/postgresql-docs

Hm.  Note that the only tricky thing I ever do with emerge is (1) to do USE=whatever-emerge-wants emerge some-package, (2) to suppress tests with FEATURES=-test, and to suppress badly broken ebuilds by adding a fully-qualifed atom to the mask file.  I rarely mess with use-flags at all.

> (Attach `perl -V` and `grep DNS.pm /var/db/pkg/dev-perl/Net-DNS-*/CONTENTS`
> please.)

Done.
Comment 4 Stephen J. Turnbull 2010-08-17 08:43:54 UTC
Created attachment 243315 [details]
Output of "perl -V"
Comment 5 Stephen J. Turnbull 2010-08-17 08:45:03 UTC
Created attachment 243317 [details]
Output of "grep DNS.pm ..."
Comment 6 Torsten Veller (RETIRED) gentoo-dev 2010-08-17 09:50:30 UTC
As you can see Net::DNS is installed at /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux/Net/DNS.pm
but the path /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux/ is not in @INC. So perl can't find it.

You have to reinstall the modules after upgrading from a binary incompatible perl version and that's what perl-cleaner does.


dev-db/postgresql was removed from the tree five weeks ago. You should upgrade to  postgres-{base,server}.  This is probably not possible now if some of the not reinstalled perl modules are needed for the upgrade.

But perl-cleaner prints the `emerge ...$lotofpackages` command before it fails.
I would take this and remove dev-db/postgresql from it and try it manually.
Comment 7 Stefan Behte (RETIRED) gentoo-dev Security 2010-08-17 10:51:00 UTC
(In reply to comment #0)
> This ebuild totally sucks.  Well, that's the truth, and AFAICS it needs to be
> redone from square 1.  Do not pass GO, no way in hell do you deserve $200.

For some reason, I cannot see your improved ebuild attached to this bug. You seem to have forgotten to attach it, after writing it in your free time providing it for free to everyone who would like to use it, even though some people would write that your ebuild totally sucks - and that's the truth.
Comment 8 Stephen J. Turnbull 2010-08-18 02:23:56 UTC
(In reply to comment #6)
> As you can see Net::DNS is installed at
> /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux/Net/DNS.pm
> but the path /usr/lib64/perl5/vendor_perl/5.10.1/x86_64-linux/ is not in @INC.
> So perl can't find it.
> 
> You have to reinstall the modules after upgrading from a binary incompatible
> perl version and that's what perl-cleaner does.

No, it doesn't.  It fails totally, as you see in my report.  The system continues to work, however, and other failures are traceable to breakage in perl-cleaner only by an expert.

> dev-db/postgresql was removed from the tree five weeks ago. You should upgrade
> to  postgres-{base,server}.  This is probably not possible now if some of the
> not reinstalled perl modules are needed for the upgrade.

This kind of wedged system is what I moved to Gentoo to get away from.  Gentoo is looking more like a much slower Debian every day.

One gets the strong impression that "works for me" is the criterion for adding crap like perl-cleaner to the system.  A maintenance tool that may be expected to try to upgrade hundreds of packages should be prepared for missing package descriptions and the like.   (Reported as bug #333267.)


> But perl-cleaner prints the `emerge ...$lotofpackages` command before it fails.
> I would take this and remove dev-db/postgresql from it and try it manually.

OK.  Since the list of packages filled more than 75 lines, it will take a while, and with a flakey ISP I don't want to do it from home.  I'll go to the office and run it from console, then get back to you on whether that works or not.  (Including checking if the spamassassin upgrade works, which it may not since it was spamc that blocked emerge, not the missing Perl packages.)
Comment 9 Stephen J. Turnbull 2010-08-18 02:49:33 UTC
(In reply to comment #7)

> For some reason, I cannot see your improved ebuild attached to this bug.

No, and you won't because I don't intend to write it; I don't write ebuilds, and I certainly don't know enough about portage to figure out how to work around this kind of mess.

When I started with Gentoo, I just wanted a system that works most of the time, and is simple enough that when it doesn't, a user with a small amount of common sense can intervene to get things going again.  Originally I thought the USE flag feature was very cool, and I guess I still do, but except for +doc I only very rarely mess with USE flags or anything else (except for using FEATURES=-test a lot).  I do what the error/warning messages tell me to do.  In return, I just ask that the system not wedge itself.

Gentoo used to be that kind of system.  It isn't, any more.

 > some people would write that your ebuild totally sucks - and that's the truth.

Of course they would.  But there are two kinds of total suckage.  One is the kind displayed here.  A rat's nest of interwined hacks that gets wedged on something very simple like a deleted package.  The other is when a "simple" error condition that an obvious quick hack would auto-correct is left to the user to resolve.  Believe me, I'd choose the latter every time, and happily ignore the posts that declare my work to totally suck.

Comment 10 David Abbott (RETIRED) gentoo-dev 2010-08-18 17:36:46 UTC
You must have missed the news item when you upgraded perl to run perl-cleaner --all immediately  after the upgrade. Not helping matters is your system is not updated if you have the old postgresql. This bug is not for spamassassin, this is a Duplicate of Bug 192319.

*** This bug has been marked as a duplicate of bug 192319 ***