Summary: | [4.4] sys-devel/gcc-4.4.3-r2: rebuild fails gencheck.c:30:24: error: all-tree.def: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jorge Manuel B. S. Vicetto (RETIRED) <jmbsvicetto> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kanelxake, redhatter, releng |
Priority: | High | Keywords: | Inclusion |
Version: | autobuilds | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | http://gcc.gnu.org/PR46173 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Compressed log file for the 20100909 stage1 build
Compressed log file for the 20100916 stage3 build |
Description
Jorge Manuel B. S. Vicetto (RETIRED)
![]() ![]() Created attachment 247647 [details]
Compressed log file for the 20100909 stage1 build
Created attachment 247649 [details]
Compressed log file for the 20100916 stage3 build
emerge --info for the 20100909 stage1: Portage 2.1.8.3 (unavailable, gcc-4.4.3, glibc-2.11.2-r0, 2.6.28-hardened-r9-infra14 x86_64) ================================================================= System uname: Linux-2.6.28-hardened-r9-infra14-x86_64-with-gentoo-1.12.13 Timestamp of tree: Unknown ccache version 2.4 [disabled] dev-lang/python: 2.6.5-r2, 3.1.2-r3 sys-devel/autoconf: 2.65 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_LICENSE="* -@EULA" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="bindist build mmx multilib nptl nptlonly sse sse2 unicode" Unset: ACCEPT_KEYWORDS, EMERGE_DEFAULT_OPTS, PORTDIR_OVERLAY emerge --info for the 20100916 stage3: Portage 2.1.8.3 (unavailable, gcc-4.4.3, glibc-2.11.2-r0, 2.6.28-hardened-r9-infra14 x86_64) ================================================================= System uname: Linux-2.6.28-hardened-r9-infra14-x86_64-with-gentoo-1.12.13 Timestamp of tree: Unknown ccache version 2.4 [disabled] dev-lang/python: 2.6.5-r3, 3.1.2-r4 sys-devel/autoconf: 2.65-r1 sys-devel/automake: 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.30-r1 ACCEPT_LICENSE="* -@EULA" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="mmx sse sse2" Unset: ACCEPT_KEYWORDS, EMERGE_DEFAULT_OPTS, PORTDIR_OVERLAY Might this be a parallel build issue? Something else? Is there any other info you require to debug this? Definitely seems to be a jobs issue. I had gcc 4.4.4 and had the same issue trying to build both -r1 and -r2 make: INTERNAL: Exiting with 9 jobserver tokens available; should be 8! I also had a high number of jobs going... -j10. I commented out my makeopts in make.conf and gcc built without issue (just slowly on a single core.) The latest weekly run of catalyst for amd64 failed again due to this issue. Is there anything we can do? If we can't be certain that a specific gcc version won't fail to build, because of parallel compilation?, should it be marked stable? I hit this too today with gcc-4.4.5. It is a rather classic parallell build issue. Looking into it i found this commit: http://git.infradead.org/toolchain/gcc.git/commitdiff/ddf75885fb9f1054f136b86966c0822914afefa4 (I think you can find out from there what svn revision it was) The problem is the following change: --- a/gcc/gencheck.c +++ b/gcc/gencheck.c @@ -24,14 +24,16 @@ along with GCC; see the file COPYING3. If not see #include "tm.h" #define DEFTREECODE(SYM, NAME, TYPE, LEN) #SYM, +#define END_OF_BASE_TREE_CODES static const char *const tree_codes[] = { -#include "tree.def" -#include "c-common.def" -#include "gencheck.h" +#include "all-tree.def" (char*) 0 }; As you see gencheck.c now needs all-tree.def, however they seems to fogotten to make appropriate changes to Makefile.in: build/gencheck.o : gencheck.c tree.def $(BCONFIG_H) $(GTM_H) \ $(SYSTEM_H) coretypes.h $(lang_tree_files) so make only looks for tree.def. I cannot reliably reproduce this issue, however if I make gencheck.o depend on all-tree.def instead of tree.def in Makefile.in gcc still builds fine here, both with MAKEOPTS="-j1" and MAKEOPTS="-j10". @toolchain does that change look innocent enough or should we take it upstream before adding a patch to our patchset? Thanks for investigating. It was fixed w/ commit 147395 but never backported to the 4.4 branch. Added to patchset. http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.4.4/gentoo/05_all_gcc44-pr46173-all-tree.patch?rev=1.1&view=markup http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/gcc/4.4.5/gentoo/05_all_gcc44-pr46173-all-tree.patch?rev=1.1&view=markup Fixed. |