gcc3.3 is more standards-conformant and refuses to compile galib due to wrong template code Reproducible: Always Steps to Reproduce: 1.emerge galib Actual Results: In file included from ex21.C:17: ../ga/GARealGenome.h:59: error: ISO C++ forbids declaration of `allele' with no type ../ga/GARealGenome.h:59: error: template-id `allele<>' for `int GAAlleleSet<float>::allele(unsigned int) const' does not match any template declaration ../ga/GARealGenome.h:59: error: syntax error before `{' token ../ga/GARealGenome.h:65: error: `n' was not declared in this scope ../ga/GARealGenome.h:66: error: parse error before `if' ../ga/GARealGenome.h:69: error: ISO C++ forbids declaration of `value' with no type ../ga/GARealGenome.h:69: error: `core' was not declared in this scope ../ga/GARealGenome.h:69: error: `i' was not declared in this scope ../ga/GARealGenome.h:69: error: `core' was not declared in this scope ../ga/GARealGenome.h:70: error: parse error before `if' ../ga/GARealGenome.h:74: error: ISO C++ forbids declaration of `value' with no type ../ga/GARealGenome.h:74: error: redefinition of `int value' ../ga/GARealGenome.h:69: error: `int value' previously defined here ../ga/GARealGenome.h:74: error: `core' was not declared in this scope ../ga/GARealGenome.h:75: error: parse error before `}' token {standard input}: Assembler messages: {standard input}:21: Error: symbol `value' is already defined make[1]: *** [ex21.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/galib-2.4.5/work/galib245/examples'make: *** [all] Error 2 !!! ERROR: dev-libs/galib-2.4.5 failed. !!! Function src_compile, Line 19, Exitcode 2 !!! make failed Expected Results: install solution for this error: http://mailman.mit.edu/pipermail/galib/2003-December/000896.html
Created attachment 31887 [details, diff] Patches the source as specified in the mail to make it compile with gcc 3.3
added the following line in the ebuild in the function src_compile(): epatch ${FILESDIR}/patch-gcc3.patch This works, but I'm sure it isn't the correct way to apply patches in an ebuild. Could someone please do this the right way?
Oops ... patch was wrong ... attaching good patch ... ebuild just needs to be cleaned up now before it can get committed
Created attachment 31889 [details, diff] files/patch-gcc3.patch
Well, I preferred to add prototypes to the header instead of moving the implementation there, but thanks for reporting this and even providing a workaround! CVS revision 1.3 should fix this.