Teapop failed to start (probably also because of this bug), so I tried to rebuild. But Teapop won't rebuild (see below) yet it still tries to install itself (probably braking previously working (=mine) setups). Results below in "Actual Results". Note that the script seemingly neither notices the compile failure nor the non-existing executable. Reproducible: Always Steps to Reproduce: 1. Don't do it on a machine requiring a working teapop. 2. emerge --deep teapop Actual Results: # emerge --deep teapop Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) net-mail/teapop-0.3.8 * teapop-0.3.8.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking teapop-0.3.8.tar.gz to /var/tmp/portage/net-mail/teapop-0.3.8/work >>> Source unpacked in /var/tmp/portage/net-mail/teapop-0.3.8/work >>> Compiling source in /var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8 ... * econf: updating teapop-0.3.8/config/config.guess with /usr/share/gnuconfig/config.guess * econf: updating teapop-0.3.8/config/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-lock=flock,dotlock --enable-homespool=mail --enable-mailspool=/var/spool/mail --enable-apop --disable-ipv6 --with-tcpd --with-mysql=/usr --with-java=/home/baumeist/.gentoo/java-config-2/current-user-vm creating cache ./config.cache checking host system type... i686-pc-linux-gnu checking for gcc... gcc checking whether the C compiler (gcc -O2 -march=athlon-xp -mfpmath=sse -fno-ident -fomit-frame-pointer -pipe -fsched-spec-load -Wl,-O1 -Wl,--sort-common) works... yes checking whether the C compiler (gcc -O2 -march=athlon-xp -mfpmath=sse -fno-ident -fomit-frame-pointer -pipe -fsched-spec-load -Wl,-O1 -Wl,--sort-common) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking whether make sets ${MAKE}... yes checking for a BSD compatible install... /usr/bin/install -c checking for chmod... /bin/chmod checking for mv... /bin/mv checking for rm... /bin/rm checking for sed... /bin/sed checking for strip... /usr/bin/strip checking for perl... /usr/bin/perl checking for piddir... /var/run checking where mail is... ~/mail checking which locking method to use... flock,dotlock checking if APOP should be allowed... yes checking if virtual domain support should be added... yes checking for dividers to use... @% checking if IPv6 support is wanted... no checking if __P() is defined in <sys/types.h>... no checking if socklen_t is defined... yes checking if off_t is defined... yes checking if tcpd/tcpwrapper should be built... yes checking for main in -lwrap... yes checking for PostgreSQL support... no checking for MySQL support... yes checking for DRAC support... no checking for DRAC includefile... n/a checking for Whoson support... no checking for Whoson includefile... n/a checking for popauth file support... no checking for Java support... yes checking for java authentication class... TeapopAuth checking for LDAP authentication support... no checking for LDAP include file... n/a checking for LDAP libraries... n/a checking for crypt in -lcrypt... yes checking for socket in -lsocket... no checking for gethostent in -lnsl... yes checking for flock in -lucb... no checking for getspnam in -lsec... no checking for MD5Init in -lmd... no checking for MD5Init in -lmd5... yes checking for flock in -lbsd... yes checking how to run the C preprocessor... gcc -E checking for crypt.h... yes checking for md5.h... no checking for shadow.h... yes checking for tcpd.h... yes checking for unistd.h... yes checking for sys/file.h... yes checking for ANSI C header files... no checking for arc4random... no checking for flock... yes checking for lockf... yes checking if system md5 works for us... no checking if LOCK_* is defined... yes checking if F_*LOCK is defined... yes updating cache ./config.cache creating ./config.status creating ./Makefile creating ../Makefile creating ../bin/Makefile creating ../etc/Makefile creating ../man/Makefile creating ../teapop/Makefile creating config.h Updating Makefile Updating Makefile Updating Makefile Updating Makefile make -j1 ===> Building Teapop ===> Building in config... make[1]: Entering directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/config' make[1]: Nothing to be done for `build'. make[1]: Leaving directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/config' ===> Building in teapop... make[1]: Entering directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/teapop' gcc -I../include -I../config -DETC_DIR=\"/etc\" -DVAR_DIR=\"/var/lib\" -O2 -march=athlon-xp -mfpmath=sse -fno-ident -fomit-frame-pointer -pipe -fsched-spec-load -I/usr/include/mysql -I/home/baumeist/.gentoo/java-config-2/current-user-vm/include -I/home/baumeist/.gentoo/java-config-2/current-user-vm/include/linux -c md5c.c -o md5c.o gcc -I../include -I../config -DETC_DIR=\"/etc\" -DVAR_DIR=\"/var/lib\" -O2 -march=athlon-xp -mfpmath=sse -fno-ident -fomit-frame-pointer -pipe -fsched-spec-load -I/usr/include/mysql -I/home/baumeist/.gentoo/java-config-2/current-user-vm/include -I/home/baumeist/.gentoo/java-config-2/current-user-vm/include/linux -c pop_auth.c -o pop_auth.o In file included from pop_auth.c:38: ../config/config.h:67:1: warning: "__P" redefined In file included from /usr/include/features.h:330, from /usr/include/sys/types.h:27, from pop_auth.c:30: /usr/include/sys/cdefs.h:74:1: warning: this is the location of the previous definition pop_auth.c:49: error: 'pop_auth' redeclared as different kind of symbol ../include/pop_auth.h:34: error: previous declaration of 'pop_auth' was here pop_auth.c: In function 'pop_auth': pop_auth.c:60: error: called object 'pop_send_hello' is not a function pop_auth.c:97: error: called object 'pop_cmd_capa' is not a function pop_auth.c:148: error: called object 'pop_cmd_capa' is not a function pop_auth.c:161: error: called object 'pop_string_find' is not a function pop_auth.c:177: error: called object 'pop_verify_password' is not a function make[1]: *** [pop_auth.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/teapop' ===> Building in bin... make[1]: Entering directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/bin' Creating cronpopauth.pl make[1]: Leaving directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/bin' ===> Building in etc... make[1]: Entering directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/etc' Creating example teapop.passwd make[1]: Leaving directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/etc' ===> Building in man... make[1]: Entering directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/man' Creating example teapop.8 make[1]: Leaving directory `/var/tmp/portage/net-mail/teapop-0.3.8/work/teapop-0.3.8/man' >>> Source compiled. >>> Test phase [not enabled]: net-mail/teapop-0.3.8 >>> Install teapop-0.3.8 into /var/tmp/portage/net-mail/teapop-0.3.8/image/ category net-mail ===> Installing Teapop Run make first mv: cannot stat `/var/tmp/portage/net-mail/teapop-0.3.8/image//usr/libexec/teapop': No such file or directory >>> Completed installing teapop-0.3.8 into /var/tmp/portage/net-mail/teapop-0.3.8/image/ >>> Installing (1 of 1) net-mail/teapop-0.3.8 >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. Expected Results: A correctly installed teapop. Alternatively a non-uninstalled old version of teapop. # emerge --info Portage 2.1.6.13 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.9_p20081201-r2, 2.6.24-gentoo-r4 i686) ================================================================= System uname: Linux-2.6.24-gentoo-r4-i686-AMD_Duron-tm-_processor-with-glibc2.0 Timestamp of tree: Sun, 28 Jun 2009 16:45:01 +0000 distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 3.2_p39 dev-java/java-config: 2.1.7 dev-lang/python: 2.4.4-r13, 2.5.4-r2 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -mfpmath=sse -fno-ident -fomit-frame-pointer -pipe -fsched-spec-load" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=athlon-xp -mfpmath=sse -fno-ident -fomit-frame-pointer -pipe -fsched-spec-load" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.gentoo.mesh-solutions.com/gentoo/ ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.free.fr/mirrors/ftp.gentoo.org/" LDFLAGS="-Wl,-O1 -Wl,--sort-common" MAKEOPTS="-j1" 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.europe.gentoo.org/gentoo-portage" USE="3dnow X X86 acl acpi alsa apache2 berkdb bzip2 bzlib cdr cli cracklib crypt cups dri dvd ethereal exif firefox fortran ftp gdbm gif glibc-omitfp gnutls gphoto2 gpm gtk hardened iconv imagemagick isdnlog java jpeg mbox midi mime mmx mozilla mudflap mysql ncurses nis nls nptl nptlonly offensive ogg openmp pam pcre perl php png pnp posix pppd python readline reflection samba session sockets spl sse ssl svg sysfs sysvipc tcltk tcpd tetex tiff tk trusted udev unicode usb vorbis wxgtk1 wxwindows x86 xface xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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="auth_basic auth_dbm auth_anon auth_digest authz_host alias file_cache charset_lite cache disk_cache mem_cache ext_filter filter deflate mime_magic cern_meta expires headers usertrack unique_id info include dav dav_fs vhost_alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir actions userdir" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm mach64 vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I looked a bit more into this: This seems to be an automake/configure problem. The problem is cause by define the preprocessor macro __P for function prototypes twice. One time in the automatically created config/config.h file: --- snip --- /* Give __P() to ppl who don't have it */ #define NEED_P 1 #ifdef NEED_P #ifdef STDC_HEADERS #define __P(proto) proto #else #define __P(proto) #endif #endif --- snip ---- which is in turn caused by configure thinking that this definition is necessary: --- snip --- checking if IPv6 support is wanted... no checking if __P() is defined in <sys/types.h>... no checking if socklen_t is defined... yes --- snip --- This is again a bit surprising because after all __P is defined in /usr/include/sys/cdefs.h which is included two levels deep from sys/types.h. Although it seems the authors of that file don't really think the definition belongs there either: --- snip --- /* These two macros are not used in glibc anymore. They are kept here only because some other projects expect the macros to be defined. */ #define __P(args) args #define __PMT(args) args --- snip --- I don't understand enough of configure to debug why it doesn't see that __P is defined already. The problem is not compiler bound. I gcc-config'ed from gcc-4.1.2 to gcc-4.3.2 and the problem is still there. Will now try to reinstall glibc with the new compiler and see what happens (although I doubt it will help).
Closing as net-mail/teapop is no longer in the tree.