| Summary: | Parallel build issue with cyrus-imapd-2.3.9 | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Gunnar Wrobel (RETIRED) <wrobel> |
| Component: | [OLD] Server | Assignee: | Tobias Scherbaum (RETIRED) <dertobi123> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
Can't reproduce this with different MAKEOPTS ... please be a bit more verbose especially about your toolchain and post an english error message ;) Sorry for being imprecise in the initial report.
The detailed english version:
### Making all in /var/tmp/portage/net-mail/cyrus-imapd-2.3.9/work/cyrus-imapd-2.3.9/imap
make[1]: Entering directory `/var/tmp/portage/net-mail/cyrus-imapd-2.3.9/work/cyrus-imapd-2.3.9/imap'
rm -f version.o
AWK=gawk ./xversion.sh
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
pushstats.c
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
imapd.c
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
proxy.c
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
imap_proxy.c
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
index.c
In file included from index.c:65:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
version.c
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
mutex_fake.c
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
append.c
In file included from proxy.c:58:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
mailbox.c
In file included from append.c:57:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
mboxlist.c
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
mupdate-client.c
In file included from mupdate.h:58,
from mupdate-client.c:75:
mupdate_err.h:20: warning: "struct et_list" declared inside parameter list
mupdate_err.h:20: warning: its scope is only this definition or declaration, which is probably not what you want
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
mboxname.c
In file included from mboxlist.c:75:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
message.c
In file included from version.c:59:
xversion.h:3:23: warning: no newline at end of file
In file included from imapd.c:80:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
global.c
In file included from mboxname.c:55:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \
imap_err.c
In file included from ./../sieve/sieve_interface.h:37,
from version.c:68:
./../sieve/sieve_err.h:19: warning: "struct et_list" declared inside parameter list
./../sieve/sieve_err.h:19: warning: its scope is only this definition or declaration, which is probably not what you want
version.c: In function `id_response':
version.c:103: error: syntax error before ')' token
make[1]: *** [version.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from imap_proxy.c:59:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from message.c:63:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from global.c:65:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from global.c:70:
mupdate_err.h:20: warning: "struct et_list" declared inside parameter list
In file included from mailbox.c:77:
imap_err.h:67: warning: "struct et_list" declared inside parameter list
imap_err.h:67: warning: its scope is only this definition or declaration, which is probably not what you want
make[1]: Leaving directory `/var/tmp/portage/net-mail/cyrus-imapd-2.3.9/work/cyrus-imapd-2.3.9/imap'
make: *** [all] Error 1
*
* ERROR: net-mail/cyrus-imapd-2.3.9 failed.
* Call stack:
* ebuild.sh, line 1695: Called dyn_compile
* ebuild.sh, line 1033: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* cyrus-imapd-2.3.9.ebuild, line 177: Called die
* The specific snippet of code:
* emake || die "compile problem"
* The die message:
* compile problem
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/log/services/portage.d/net-mail:cyrus-imapd-2.3.9:20071023-100952.log'.
*
root# emerge --info
Portage 2.1.3.14 (default-linux/x86/vserver, gcc-3.4.6, glibc-2.5-r4, 2.6.9-023stab044.11-smp i686)
=================================================================
System uname: 2.6.9-023stab044.11-smp i686 Dual Core AMD Opteron(tm) Processor 175
Timestamp of tree: Mon, 22 Oct 2007 00:50:01 +0000
ccache version 2.4 [enabled]
app-shells/bash: 3.2_p17
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python: 2.4.4-r5
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache: 2.4-r7
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.61-r1
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
sys-devel/binutils: 2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool: 1.5.24
virtual/os-headers: 2.6.22-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/init.d /etc/java-config/vms/ /etc/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /usr/X11R6/lib/X11"
CXXFLAGS="-O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer"
DISTDIR="/usr/distfiles"
FEATURES="buildpkg ccache distlocks metadata-transfer parallel-fetch sandbox sfperms sign strict unmerge-orphans userfetch userprivs"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ ftp://pandemonium.tiscali.de/pub/gentoo/ ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/kolab"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86" 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 mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="vesa fbdev"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
I compile the package on a virtual server which is probably somewhat slower so that I hit the issue in about 50% of the runs.
The problem is caused by the fact that the cyrus-imapd-parallel.patch is not being used anymore which basically reopens bug #72352. I don't know why it got removed from some of the ebuilds. It is missing in both 2.2.12-r5 and 2.3.9.
There is a second section in src_compile referring to the same bug but the main part is the patch. Actually I believe the xversion.h stanza in src_compile does not do anything useful at all since xversion.h depends on the xversion target which is phony anyhow. So xversion.h will get rebuild every time.
I can confirm, that I expirience the same problem as described. the -j 5 option breaks the compilation process, while -j 1 compiles with no problem I still can't reproduce this, but somehow a parallel-building related patch present in cyrus-2.2* got removed for 2.3.9. I readded that patch to 2.3.9-r1, please test and report back. If this problem still occurs w/ 2.3.9-r1 feel free to reopen. Thanks! |
Whe emerging cyrus-imapd-2.3.9 ... These are the packages that would be merged, in order: Calculating dependencies /^[... done! [ebuild R ] net-mail/cyrus-imapd-2.3.9 USE="pam ssl tcpd -autocreate -autosieve -drac -idled -kerberos -nntp -replication -snmp" 0 kB ... I receive this output when running with MAKEOPTS="-j4". The error vanishes with -j1: In file included from mailbox.c:77: imap_err.h:67: Warnung: "struct et_list" innerhalb Parameterliste deklariert imap_err.h:67: Warnung: sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten i686-pc-linux-gnu-gcc -c -I.. -I./../lib -I../et -I./../sieve -DHAVE_CONFIG_H -O2 -mtune=i686 -pipe -march=k8 -fomit-frame-pointer \ mboxlist.c In Datei, eingefügt von version.c:59: xversion.h:3:23: Warnung: no newline at end of file In file included from ./../sieve/sieve_interface.h:37, from version.c:68: ./../sieve/sieve_err.h:19: Warnung: "struct et_list" innerhalb Parameterliste deklariert ./../sieve/sieve_err.h:19: Warnung: sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten version.c: In function `id_response': version.c:103: Fehler: Syntaxfehler vor »)«-Zeichen make[1]: *** [version.o] Error 1 make[1]: *** Waiting for unfinished jobs.... In file included from imap_proxy.c:59: imap_err.h:67: Warnung: "struct et_list" innerhalb Parameterliste deklariert imap_err.h:67: Warnung: sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten In file included from mboxlist.c:75: imap_err.h:67: Warnung: "struct et_list" innerhalb Parameterliste deklariert imap_err.h:67: Warnung: sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten make[1]: Leaving directory `/var/tmp/portage/net-mail/cyrus-imapd-2.3.9/work/cyrus-imapd-2.3.9/imap' make: *** [all] Error 1 !!! ERROR: net-mail/cyrus-imapd-2.3.9 failed. Call stack: ebuild.sh, line 1638: Called dyn_compile ebuild.sh, line 985: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile cyrus-imapd-2.3.9.ebuild, line 177: Called die !!! compile problem !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/log/services/portage.d/net-mail:cyrus-imapd-2.3.9:20071015-084527.log'. This is plain unpatched cyrus-imapd and no Kolab patches have been applied.