Plz forgive me - I don't have any way to copy paste the error - so I am just typing it in from another machine. Xfree on itanium is failing when it tries to compile: /var/tmp/portage/xfree-4.3.0-r3/work/xc/programs/Xserver/hw/xfree86/loader/elfloader.c Here is what I can see on my screen: elfloader.c: In function 'Elf_RelocateEntry': elfloader.c:2281: error: duplicate case value elfloader.c:2269: error: previously used here MAKE THEN EXITS OUT OF ALL THE DIRS !!! ERROR: x11-base/xfree4.3.0-r3 failed. !!! Function src_install, Line 600, Exitcode 2 !!! (no error message). Ok so I went digging in the file and here's what I found. There really is a duplicate case value - and the body of the cases is ALMOST exactly alike except for the last line. It looks like it is a bad patch somewhere along the line. Here are the two offending pieces of code: //////// //Starting at 2269 case R_IA64_PCREL64LSB: dest64=(unsigned long *)(secp+rel->r_offset); #ifdef ELFDEBUG ELFDEBUG( "R_IA64_PCREL64LSB %s\t", ElfGetSymbolName(elffile,ELF_R_SYM(rel->r_info)) ); ELFDEBUG( "secp=%lx\t", secp ); ELFDEBUG( "symval=%lx\t", symval ); ELFDEBUG( "dest64=%lx\n", dest64 ); #endif *dest64 = symval + rel->r_addend - (unsigned long)dest64; break; ////End //////// //Starting at 2281 case R_IA64_PCREL64LSB: dest64=(unsigned long *)(secp+rel->r_offset); #ifdef ELFDEBUG ELFDEBUG( "R_IA64_PCREL64LSB %s\t", ElfGetSymbolName(elffile,ELF_R_SYM(rel->r_info)) ); ELFDEBUG( "secp=%lx\t", secp ); ELFDEBUG( "symval=%lx\t", symval ); ELFDEBUG( "dest64=%lx\n", dest64 ); #endif *dest64 = symval + rel->r_addend - ((unsigned long)dest64 & -16); ia64_flush_cache(dest64); break; /////End Reproducible: Always Steps to Reproduce: "emerge xfree" Actual Results: Failure to emerge xfree
After looking at some of the patches that are being applied it looks like patch: 0260_ia64_4.2.99.1-gcc3.1.patch is the culprit. I don't see how this patch EVER worked correctly. It directly creates a duplicate case entry underneath the one that is already there for R_IA64_PCREL64LSB. I have no idea which CASE is the right one - or why this patch is even needed but hopefully one of you guys will be able to make the right decision. Derek
There's a patch on the bug I'm marking this a duplicate of that will be in 4.3.0-r4, which will be coming out as soon as I get back to work and clear up a couple of final problems (I'm on Thanksgiving vacation right now). I'll also add the patch to 4.3.0-r3 just so you're able to get something working in the meanwhile. If you care to download that patch and add a line right above the first mention of epatch in xfree-4.3.0-r3.ebuild, that states "cp /path/to/0263_ia64* ${PATCHDIR}/", it should fix you up for now. *** This bug has been marked as a duplicate of 33353 ***
Great! Thank you - it is compiling away now. This might not be the right place - but I have one more question. Why doesn't "emerge xfree" use multiple makes? It only runs one - and only uses one of my processors. Makes the whole thing take a lot longer than it should. Any quick reasoning or should I open up another boog?? Thanks again for taking time out of your vacation to work on this project ;-)
Because imake can't set up parallel makes by default. A patch that forces it to do so results in random build failures.
Looks like you accidentally changed the summary. Fixing.