cc-3232 CC: ERROR File = cache/parse/parse.cc, Line = 260 "it", declared in for-loop initialization, may not be redeclared in this scope. vector<BasicCache*>::const_iterator it; ^ 1 error detected in the compilation of "cache/parse/parse.cc". make[2]: *** [cache/parse/parse.o] Error 2 make[2]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/app-portage/eix-0.16.1/work/eix-0.16.1/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/opt/gentoo/var/tmp/portage/app-portage/eix-0.16.1/work/eix-0.16.1' make: *** [all] Error 2 * ERROR: app-portage/eix-0.16.1 failed: * emake failed * * Call stack: * ebuild.sh: 42: <call src_compile> * environment:841: emake || die "emake failed"
Created attachment 195665 [details, diff] eix-0.16.1 patch to fix multiple declaration of 'it' in parse.cc There's no test-suite to check that this works beyond compiling, but how's this patch look?
Thanks, the patch is now in the eix svn trunk (with a different variable name). It is very strange that gcc-4.4 did not even warn about this obvious violation (despite all sort of warnings turned on). Unfortunately, the eix-0.16.2 tarball is already out since some days, so this patch will probably have to wait until >=eix-0.16.3 (which might take a long time since currently there are no other issues).
applied it in prefix, thanks