I am having two problems with vmailmgr 0.96.9-r1: The first was, I resolved it by setting MAKEOPTS=-j1: vrehash.cc:54: warning: missing initializer for member `cli_option::name' vrehash.cc:54: warning: missing initializer for member `cli_option::type' vrehash.cc:54: warning: missing initializer for member `cli_option::flag_value' vrehash.cc:54: warning: missing initializer for member `cli_option::dataptr' vrehash.cc:54: warning: missing initializer for member `cli_option::helpstr' vrehash.cc:54: warning: missing initializer for member `cli_option::defaultstr' g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -DBINDIR=\"/usr/bin\" -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -c vadduser.cc vpasswd2cdb.cc:30:1: missing terminating " character vpasswd2cdb.cc:31: error: `writes' was not declared in this scope vpasswd2cdb.cc:31: error: parse error before `out' vpasswd2cdb.cc:32:51: missing terminating " character vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::name' vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::type' vpasswd2cdb.cc:43: warning: missing initializer for member ` cli_option::flag_value' vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::dataptr ' vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::helpstr ' vpasswd2cdb.cc:43: warning: missing initializer for member ` cli_option::defaultstr' make[2]: *** [vpasswd2cdb.o] Error 1 make[2]: *** Waiting for unfinished jobs.... listvdomain.cc:48: warning: missing initializer for member `cli_option::name' listvdomain.cc:48: warning: missing initializer for member `cli_option::type' listvdomain.cc:48: warning: missing initializer for member ` cli_option::flag_value' listvdomain.cc:48: warning: missing initializer for member `cli_option::dataptr ' listvdomain.cc:48: warning: missing initializer for member `cli_option::helpstr ' listvdomain.cc:48: warning: missing initializer for member ` cli_option::defaultstr' vadduser.cc:87: warning: missing initializer for member `cli_option::name' vadduser.cc:87: warning: missing initializer for member `cli_option::type' vadduser.cc:87: warning: missing initializer for member `cli_option::flag_value ' vadduser.cc:87: warning: missing initializer for member `cli_option::dataptr' vadduser.cc:87: warning: missing initializer for member `cli_option::helpstr' vadduser.cc:87: warning: missing initializer for member `cli_option::defaultstr ' make[2]: Leaving directory `/var/tmp/portage/vmailmgr-0.96.9-r1/work/vmailmgr-0.96.9/commands' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vmailmgr-0.96.9-r1/work/vmailmgr-0.96.9' make: *** [all-recursive-am] Error 2 !!! ERROR: net-mail/vmailmgr-0.96.9-r1 failed. !!! Function src_compile, Line 39, Exitcode 2 !!! parallel make failed This is the second. Perhaps I should try MAKEOPTS=-j0 ? [;)] I wonder why there is make[2] and make[3]. ps xa |grep make reports these lines, short before the build fails. 21030 pts/0 S 0:00 /bin/bash /usr/lib/portage/bin/emake 21031 pts/0 S 0:00 make -j1 21033 pts/0 S 0:00 make all-recursive 21034 pts/0 S 0:00 /bin/sh -c set fnord w; amf=$2; dot_seen=no; target=`echo all-recursive | sed s/-recursive//`; list='python php lib authenticate commands daemon cgi doc scripts'; for subdir in $list; do echo "Making $target in $subdir"; if test "$subdir" = "."; then dot_seen=yes; local_target="$target-am"; else local_target="$target"; fi; (cd $subdir && make $local_target) || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; done; if test "$dot_seen" = "no"; then make "$target-am" || exit 1; fi; test -z "$fail" 27282 pts/0 S 0:00 /bin/sh -c set fnord w; amf=$2; dot_seen=no; target=`echo all-recursive | sed s/-recursive//`; list='python php lib authenticate commands daemon cgi doc scripts'; for subdir in $list; do echo "Making $target in $subdir"; if test "$subdir" = "."; then dot_seen=yes; local_target="$target-am"; else local_target="$target"; fi; (cd $subdir && make $local_target) || case "$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; done; if test "$dot_seen" = "no"; then make "$target-am" || exit 1; fi; test -z "$fail" 27283 pts/0 S 0:00 make all Making all in authenticate make[2]: Entering directory `/var/tmp/portage/vmailmgr-0.96.9-r1/work/vmailmgr-0.96.9/authenticate' g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -c authvmailmgr.cc g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -c authvlib.cc gcc -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -o authvmailmgr authvmailmgr.o authvlib.o ../lib/libvmailmgr.a -L../lib/courier-authlib -lauthmod -lcrypt -lcrypt -lsupc++ g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -c checkvpw.cc gcc -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -o checkvpw checkvpw.o authvlib.o ../lib/libvmailmgr.a -lcrypt -lcrypt -lsupc++ g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -c vauthenticate.cc gcc -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -o vauthenticate vauthenticate.o authvlib.o ../lib/libvmailmgr.a -lcrypt -lcrypt -lsupc++ make[2]: Leaving directory `/var/tmp/portage/vmailmgr-0.96.9-r1/work/vmailmgr-0.96.9/authenticate' Making all in commands make[2]: Entering directory `/var/tmp/portage/vmailmgr-0.96.9-r1/work/vmailmgr-0.96.9/commands' g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -DBINDIR=\"/usr/bin\" -O3 -mcpu=athlon-xp -funroll-loops -pipe -fno-rtti -fno-exceptions -Wall -W -c vpasswd2cdb.cc vpasswd2cdb.cc:30:1: missing terminating " character vpasswd2cdb.cc:31: error: `writes' was not declared in this scope vpasswd2cdb.cc:31: error: parse error before `out' vpasswd2cdb.cc:32:51: missing terminating " character vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::name' vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::type' vpasswd2cdb.cc:43: warning: missing initializer for member ` cli_option::flag_value' vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::dataptr ' vpasswd2cdb.cc:43: warning: missing initializer for member `cli_option::helpstr ' vpasswd2cdb.cc:43: warning: missing initializer for member ` cli_option::defaultstr' make[2]: *** [vpasswd2cdb.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/vmailmgr-0.96.9-r1/work/vmailmgr-0.96.9/commands' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/vmailmgr-0.96.9-r1/work/vmailmgr-0.96.9' make: *** [all-recursive-am] Error 2 !!! ERROR: net-mail/vmailmgr-0.96.9-r1 failed. !!! Function src_compile, Line 39, Exitcode 2 !!! parallel make failed Johnny Reproducible: Always Steps to Reproduce: 1. emerge -u vmailmgr 2. 3. Portage 2.0.50_pre16 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20031222-r0, 2.4.23) ================================================================= System uname: 2.4.23 i686 mobile AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.4.3.12 distcc 2.12.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.7.8 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -mcpu=athlon-xp -funroll-loops -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /lib/modules /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/env.d" CXXFLAGS="-O3 -mcpu=athlon-xp -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://builda http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X Xaw3d aalib acl acpi afs alsa apache2 apm arts avi berkdb bonobo cdr crypt cscope cups curl dga directfb doc dvb dvd emacs encode esd ethereal evo fbcon firebird flash foomaticdb freetds gb gd gdbm ggi gif gnome gphoto2 gpm gps gstreamer gtk gtk2 gtkhtml guile imap imlib informix innodb ipv6 jack java jikes joystick jpeg kde kerberos krb4 ladcca lcm ldap leim libg++ libgda libwww lirc mad maildir mbox mcal memlimit mikmod mmx motif mozilla mpeg mpi mule mysql nas ncurses nhc98 nls oci8 odbc oggvorbis opengl oss pam pcmcia pda pdflib perl plotutils png pnp postgres ppds prelude python qt quicktime readline ruby18 samba sasl scanner sdl slang slp snmp socks5 spell ssl svga tcltk tcpd tetex tiff truetype usb wmf wxwindows x86 xface xinerama xml2 xmms xosd xv zeo zlib"
Created attachment 24297 [details, diff] patch to vmailmgr src_unpack() { unpack ${A} cd ${S} patch -p1 < ${FILESDIR}/${P}-gentoo-r1.diff || die patch -p1 < ${FILESDIR}/patch.diff || die <<<< add this line to your vmailmgr-0.96.9-r1.ebuild }
I have the same problem. Adding the line to the ebuild breaks it like this: patching file lib/mystring/append.cc /usr/sbin/ebuild.sh: line 24: /usr/portage/net-mail/vmailmgr/files/patch.diff: N o such file or directory !!! ERROR: net-mail/vmailmgr-0.96.9-r1 failed. !!! Function src_unpack, Line 24, Exitcode 1 !!! (no error message)
Created attachment 33112 [details, diff] patch for vmailmgr to make it compile with gcc3.3 copy this file in $PORTDIR/net-mail/vmailmgr/files, change src_unpack to look like this src_unpack() { unpack ${A} cd ${S} patch -p1 < ${FILESDIR}/${P}-gentoo-r1.diff || die patch -p1 < ${FILESDIR}/${P}-gcc-3.3-fix.diff || die } do ebuild vmailmgr-0.96.9-r1.ebuild digest emerge vmailmgr enjoy :)
Great patch. Worked for me!
Just a cosmetic issue, but you should use `epatch patchfile` instead of `patch -p1 <patchfile` where possible.
works for me as well .. can someone please apply this patch to the portage tree ? I think it's old enough.
Is this patch backward-compatible with older gcc versions? (i.e. won't compile using older gcc break after applying this patch?) If so, you need to modify the ebuild to apply the patch conditionally, based on gcc version.
Fixed in bug #65400. Thanks for reporting.