Summary: | gcc-3.3.3-r6 build fails when upgrading from gcc-3.3.2-r5 (kernel problem) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Timothy Demarest <demarest> |
Component: | [OLD] Core system | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | ||
Priority: | High | ||
Version: | 2004.1 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Timothy Demarest
2004-06-15 14:48:15 UTC
I was unable to duplicate this problem on a second system -- the emerge went just fine. I did find the problem: the file /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc/jump.c would not show up with a find or an ls within /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc. However, if I do an 'ls /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc/jump.c' the file shows up. Also with 'file /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc/jump.c' and other commands that DIRECTLY work on the file seem fine. All of the tests below were done on a clean emerge of gcc (I removed the /var/tmp/portage/gcc* directory each time). Notice that the file jump.c does not appear in ls output: mira-root-/var/tmp/portage-292 # ls /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc ABOUT-GCC-NLS c-lex.c cpplex.c final.c.orig genpreds.c limitx.h ra-colorize.c stor-layout.c ABOUT-NLS c-objc-common.c cpplib.c fix-header.c genrecog.c limity.h ra-debug.c stringpool.c COPYING c-opts.c cpplib.h fixinc/ gensupport.c line-map.c ra-rewrite.c sys-protos.h COPYING.LIB c-parse.c cppmacro.c fixproto* gensupport.h line-map.h ra.c sys-types.h ChangeLog c-parse.in cppmain.c flags.h ggc-common.c lists.c ra.h system.h ChangeLog.0 c-parse.y cppspec.c flags.h.orig ggc-none.c local-alloc.c read-rtl.c target-def.h ChangeLog.1 c-pragma.c cpptrad.c floatlib.c ggc-page.c location.h real.c target.h ChangeLog.2 c-pragma.h crtstuff.c flow.c ggc-simple.c longlong.h real.h testsuite/ ChangeLog.3 c-pretty-print.c cse.c flow.c.orig ggc.h loop.c recog.c timevar.c ChangeLog.4 c-pretty-print.h cse.c.orig fold-const.c ginclude/ loop.c.orig recog.h timevar.def ChangeLog.5 c-semantics.c cselib.c fp-test.c glimits.h loop.h reg-stack.c timevar.h ChangeLog.6 c-tree.h cselib.h function.c global.c machmode.def regclass.c tlink.c ChangeLog.7 c-typeck.c cstamp-h.in function.c.orig gmon.c machmode.h regmove.c toplev.c ChangeLog.lib caller-save.c dbxout.c function.h graph.c main.c regrename.c toplev.c.orig FSFChangeLog calls.c dbxout.h future.options graph.h mbchar.c regs.h toplev.h FSFChangeLog.10 calls.c.orig dbxstclass.h gbl-ctors.h gstab.h mbchar.h reload.c tracer.c FSFChangeLog.11 cfg.c debug.c gcc.c gsyms.h mips-tdump.c reload.c.orig tree-dump.c LANGUAGES cfganal.c debug.h gcc.c.orig gsyslimits.h mips-tfile.c reload.h tree-dump.h Makefile.in cfgbuild.c defaults.h gcc.h gthr-aix.h mkconfig.sh reload1.c tree-inline.c Makefile.in.orig cfgcleanup.c df.c gcc.hlp gthr-dce.h mkdeps.c reload1.c.orig tree-inline.h NEWS cfglayout.c df.h gccbug.in* gthr-posix.h mkdeps.h reorg.c tree.c ONEWS cfglayout.h diagnostic.c gccspec.c gthr-rtems.h mkheaders.in resource.c tree.def README-fixinc cfgloop.c diagnostic.def gcov-io.h gthr-single.h mkinstalldirs resource.h tree.h README.Portability cfgrtl.c diagnostic.h gcov.c gthr-solaris.h mklibgcc.in rtl-error.c treelang/ SERVICE collect2.c doc/ gcse.c gthr-vxworks.h mkmap-flat.awk rtl.c tsystem.h acconfig.h collect2.h doloop.c gcse.c.orig gthr-win32.h mkmap-symver.awk rtl.def typeclass.h aclocal.m4 combine.c dominance.c gdbinit.in gthr.h move-if-change* rtl.h unroll.c ada/ combine.c.orig doschk.c gen-protos.c haifa-sched.c objc/ rtl.h.orig unwind-c.c alias.c conditions.h dummy-conditions.c genattr.c hard-reg-set.h optabs.c rtlanal.c unwind-dw2-fde-darwin.c alias.c.orig config/ dwarf.h genattrtab.c hashtable.c optabs.h sbitmap.c unwind-dw2-fde-glibc.c attribs.c config.gcc dwarf2.h genattrtab.h hashtable.h output.h sbitmap.h unwind-dw2-fde.c basic-block.h config.gcc.orig dwarf2asm.c genautomata.c hooks.c params.c scan-decls.c unwind-dw2-fde.h bb-reorder.c config.guess* dwarf2asm.h gencheck.c hooks.h params.def scan-types.sh* unwind-dw2.c bitmap.c config.in dwarf2out.c gencodes.c hwint.h params.h scan.c unwind-libunwind.c bitmap.h configure* dwarf2out.h genconditions.c ifcvt.c pie-ssp-chain.h scan.h unwind-pe.h builtin-attrs.def configure.frag dwarfout.c genconfig.c input.h pie-ssp-modus.h sched-deps.c unwind-sjlj.c builtin-types.def configure.in emit-rtl.c genconstants.c insn-addr.h pie-ssp-setup.h sched-ebb.c unwind.h builtins.c configure.in.orig errors.c genemit.c integrate.c po/ sched-int.h unwind.inc builtins.def configure.orig* errors.h genextract.c integrate.h predict.c sched-rgn.c varasm.c c-aux-info.c conflict.c et-forest.c genflags.c intl/ predict.def sched-vis.c varray.c c-common.c convert.c et-forest.h gengenrtl.c intl.c predict.h sdbout.c varray.h c-common.def convert.h except.c gengtype-lex.c intl.h prefix.c sdbout.h version.c c-common.h cp/ except.h gengtype-lex.l java/ prefix.h sibcall.c version.h c-config-lang.in cppdefault.c explow.c gengtype-yacc.c langhooks-def.h pretty-print.h simplify-rtx.c vmsdbg.h c-convert.c cppdefault.h explow.c.orig gengtype-yacc.h langhooks.c print-rtl.c sort-protos* vmsdbgout.c c-decl.c cpperror.c expmed.c gengtype-yacc.y langhooks.h print-tree.c ssa-ccp.c xcoffout.c c-decl.c.orig cppexp.c expmed.c.orig gengtype.c lcm.c profile.c ssa-dce.c xcoffout.h c-dump.c cppexp.c.orig expr.c gengtype.h libfuncs.h profile.h ssa.c c-errors.c cppfiles.c expr.c.orig genmultilib libgcc-std.ver protector.c ssa.h c-format.c cpphash.c expr.h genopinit.c libgcc2.c protector.h stab.def c-gperf.h cpphash.h f/ genoutput.c libgcc2.c.orig protoize.c stack.h c-lang.c cppinit.c final.c genpeep.c libgcc2.h ra-build.c stmt.c Doing an ls of the file DOES show up: mira-root-/var/tmp/portage-332 # ls /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc/jump.c /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc/jump.c Also doing a file of jump.c works: mira-root-/var/tmp/portage-333 # file !$ file /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc/jump.c /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc/jump.c: ASCII C program text find does not locate the file: mira-root-/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc-335 # pwd /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc mira-root-/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc-336 # find . -name 'jump.c' -print No funny attributes are set on the jump.c file: mira-root-/var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc-337 # lsattr jump.c ------------- jump.c I tried turning off dir_index on the filesystem to see if this helped, but it didn't see to help: mira-root-/var/tmp/portage-344 # tune2fs -O ^dir_index /dev/md2 tune2fs 1.34 (25-Jul-2003) Doing a 'touch jump.c' wasn't effective. As a workaround I did the following: Pause the emerge right before the compilation starts with CTRL-Z cd /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/gcc cat jump.c foo.c rm jump.c mv foo.c jump.c fg After this the jump.c file appears in ls and make is happy. I've cleaned out /var/tmp/portage and tried this about a dozen times and haven't figured out why jump.c has this issue on this particular system. System is overall good shape. I'm not confident this is machine-specific just yet. I just had the same problem, it wasn't a one off :-( Robin, can you please give an 'emerge info'? Thanks. Could either of you try with MAKEOPTS='-j1' ? Martin: I tried it with *no* MAKEOPTS set. I don't think setting them to -j1 will help since the file jump.c is not seen for some reason, although the file *is* there. K, was just wondering it it might have been a race in make ... I had this exact error message when trying to update gcc while running 2.6.5-gentoo-r1/i686. After trying literally everything, I upgraded the kernel to 2.6.7-gentoo-r5/i686 and gcc compiled perfectly fine. More info available here: http://forums.gentoo.org/viewtopic.php?p=1275413#1275413 end result, you need a newer kernel ;) Thanks, Robert. I was able to work around the problem with an older kernel (see notes in this bug). Hopefully there isn't something funny with the older kernels causing files (like jump.c in the gcc-3.3.3-r6 build) to become "hidden". finally got round to checking back in on this one and here is my emerge info. I'l going to have a read at the forum post see if that can help me fix it. ------- Portage 2.0.50-r8 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3.20040420-r0, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm) XP 2600+ Gentoo Base System version 1.4.16 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /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 /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox usersandbox" GENTOO_MIRRORS="http://www.mirror.ac.uk/sites/www.ibiblio.org/gentoo/ http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j4" 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 alsa apache2 apm arts avi berkdb bonobo cdr crypt cups encode esd ethereal foomaticdb gdbm gif gnome gphoto2 gpm gtk gtk2 gtkhtml guile imap imlib jpeg kde ldap libg++ libwww mad mikmod motif mozilla mpeg mysql ncurses nls oggvorbis opengl oss pam pda pdflib perl png postgres ppds python qt quicktime readline samba sdl slang spell ssl svga tcpd truetype x86 xml xml2 xmms xv zlib" Any problem when upgrading to gcc-3.3.4-r(WHATEVER_CURRENT) ? My emerge update to sys-devel/gcc-3.3.4-r1 went without any problems. This bug doesn't seem to apply to sys-devel/gcc-3.3.4-r1. solution seems to be use a newer kernel |