openexr-1.6.1 flat out refuses to compile if distcc is enabled. The other machine that is using used via distcc already has openexr-1.6.1, which appears to be a contributing factor. Both use the same version of gcc (4.2.2) and glibc (2.6.1). No other packages have demonstrated this problem.
Steps to Reproduce:
1. emerge and properly configure distcc on two computers, but leave it disabled.
2. emerge openexr 1.6.1 on one of the two computers.
3. enable distcc on both computers
4. attempt to emerge openexr 1.6.1 on the other computer. It will fail at this point.
dozens of "expected X identifier before Y" and "weak declaration of..." errors followed by emerge throwing its own standard build failure error and dropping back to the shell.
openexr should have built cleanly, temporarily disabling distcc if necessary.
Due to several other apps such as kdelibs, koffice, gwenview, etc. demanding the use of this package (despite the presence of a "-openexr" USE flag), one cannot proceed without it. This problem completely blocked my ability to install further software until I sought help to find the disable-distcc workaround.
Created attachment 142629 [details]
build log showing openexr when it fails with distcc enabled
Created attachment 142631 [details]
output from emerge --info
how are you sure this is an openexr issue ?
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../config -pthread -I/usr/include/OpenEXR -I.. -I../config -pipe -O2 -march=i686 -pipe -MT ImfFrameBuffer.lo -MD -MP -MF .deps/ImfFrameBuffer.Tpo -c ImfFrameBuffer.cpp -fPIC -DPIC -o .libs/ImfFrameBuffer.o
/usr/lib/gcc/i686-pc-linux-gnu/4.2.2/include/g++-v4/i686-pc-linux-gnu/bits/c++config.h:149: error: expected `=' before '__attribute__'
seems to be a toolchain/ccache/distcc issue imho
OOps, I meant to close this bug last night. Turns out this was a distcc/gcc issue masquerading as an (insert your favorite C++ program here) issue; gcc was the wrong version on one of the machines in the pool (it was 4.1.1, not 4.2.2.). Fixed that, problem went away. So, I'll mark this as invalid and close.