servername root # emerge -p postfix These are the packages that I would merge, in order: Calculating dependencies ...done! !!! Cannot resolve a virtual package name to an ebuild. !!! This is a bug, please report it. (virtual/mta) servername root # emerge postfix Calculating dependencies ...done! !!! Error: the virtual/mta package conflicts with another package. !!! both can't be installed on the same system together. !!! Please use 'emerge --pretend' to determine blockers. Reproducible: Always Steps to Reproduce: 1.Built standard Gentoo installation on Netra T105 using mcpu=ultrasparc, USE="-java -X ssl mysql" (no other special settings 2.emerge rsync (two days later when I got back to working on the server) 3.emerge -u portage (there was a new version available - 2.0.48-r6) 4.emerge -p postfix Actual Results: servername root # emerge -p postfix These are the packages that I would merge, in order: Calculating dependencies ...done! !!! Cannot resolve a virtual package name to an ebuild. !!! This is a bug, please report it. (virtual/mta) Expected Results: I imagine the virtual/mta ebuild would have shown up as a dependency for postfix in the output along with postfix and any other dependency. servername root # emerge info Portage 2.0.48-r6 (default-sparc64-1.4, gcc-3.2.3, glibc-2.3.1-r4) ================================================================= System uname: 2.4.21-sparc-r0 sparc64 sun4u GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio. org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/share/config /usr/kde/2/share/config /usr/kde/3/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="sparc arts apm avi crypt cups encode esd fbcon foomaticdb gif gtk gnome imlib jpeg kde libwww mad mikmod motif mpeg ncurses nls oggvorbis oss opengl png pdflib qt sdl spell truetype xv xml2 xmms zlib gdbm berkdb slang readline tcpd pam perl python -java -X ssl mysql" COMPILER="gcc3" CHOST="sparc-unknown-linux-gnu" CFLAGS="-mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe -fomit-frame-pointer" CXXFLAGS="-mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe -fomit-frame-pointer" ACCEPT_KEYWORDS="sparc sparc64" MAKEOPTS="-j3" AUTOCLEAN="yes" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" FEATURES="sandbox ccache" The docs here: http://www.subverted.net/wakka/wakka.php?wakka=GentooPostfix actually suggests running: emerge virtual/mta unmerge to uninstall the ebuild, so I imagine it isn't a hard dependency for postfix. If I run: 'emerge -p --nodeps postfix' (after doing an 'emerge -s postfix' to see if there was anything else related), it appears to go just fine. Trying 'USE="-mysql" emerge --nodeps postfix' fails, however: <snip> gcc -DHAS_SSL -DHAS_PCRE -mcpu=ultrasparc -mtune=ultrasparc -O2 -pipe -fomit-frame-pointer -I. -DLINUX2 -c dict_static.c dict_pcre.c:56:18: pcre.h: No such file or directory ... <insert many lines of errors specified in pcre.h> make: *** [dict_pcre.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [update] Error 1 !!! ERROR: net-mail/postfix-2.0.9 failed. !!! Function src_compile, Line 147, Exitcode 2 !!! compile problem </snip> I'm not certaqin what to make of this, but I imagine by using --nodeps, I'm screwing something up that needs to be there...
UPDATE: an 'emerge rsync' and an 'emerge -u portage' (to portage 2.0.48-r6 - from 2.0.48-r5) and it appears to list the dependencies properly when I run 'emerge -p postfix'. Here's the output after the portage update: midgard root # emerge -p postfix These are the packages that I would merge, in order: Calculating dependencies ...done! [blocks B ] net-mail/ssmtp ("virtual/mta" from pkg net-mail/postfix-2.0.9) [ebuild N ] dev-libs/libpcre-4.2-r1 [ebuild N ] dev-db/mysql-4.0.13-r3 [ebuild N ] net-mail/postfix-2.0.9 [ebuild U ] dev-lang/perl-5.8.0-r12 [5.8.0-r11] [ebuild N ] dev-perl/Net-Daemon-0.37 [ebuild N ] dev-perl/File-Spec-0.84-r1 [ebuild N ] dev-perl/Test-Harness-2.28 [ebuild N ] dev-perl/Test-Simple-0.47-r1 [ebuild N ] dev-perl/Storable-2.07-r1 [ebuild N ] dev-perl/PlRPC-0.2016-r1 [ebuild N ] dev-perl/DBI-1.37 [ebuild N ] dev-perl/DBD-mysql-2.1027 It still looks like virtual/mta is blocking, but at least the command completes without error at this point. I'm not sure if that means this bug is considered closed or it still requires attention -- use your discretion and close it if you wish...
It appears that 'net-mail/ssmtp' is satisfying the mta virtual, (it was probably installed when you installed a logger (the loggers seem to require virtual/mta and ssmtp is the default if you haven't already installed one.)) Therefore you should be able to 'emerge unmerge ssmtp' then 'emerge -p postfix' and it will most likely look more sensible.
Chris Russel is correct in his comment. ssmtp satisfies virtual/mta, and thus in order to install postfix, you have to first unmerge ssmtp, and then install postfix. Should you desire to remove postfix, ssmtp will be re-installed by portage to satisfy virtua/mta. The same goes for other mail packages, like qmail. Since this basically resolves this bug, I'll close it for now. If anything else pops up, let us know.
Closing