I updated to gcc-4.1.1 and when recompiling world, bitchx would not compile. I set about fixing the errors and found one problem after another. Mostly the problems were variables declared in a header as extern and then defined in a .c file as static. In all cases, the variables were used in only one file, and so did not need to be extern, and didn't need to be in the header at all, so I just removed them from the header. Another error was a conflict with ncurses.h, so I added an #ifdef to fix that. Then I got to these errors in dll/cavlink/cavlink.c:
./cavlink.c:1334: error: invalid lvalue in assignment
./cavlink.c:1339: error: invalid lvalue in assignment
The lines referred to are assignments to loading_global, which is #defined as a macro in include/modval.h. That #define is unsuitable for being used as an lvalue, so this needs to be fixed whereever it is used as an lvalue. A quick grep reveals that there are many such places, and I've spent too much time on this already, so I'll leave that to somebody else.
I'll attach my patch for the errors I managed to fix before I gave up. It incorporates bitchx-1.1-gcc34.patch, and so should *replace* that patch. Trying to apply them both will fail. All of these changes simply fix errors in the code, and so should work with any version of gcc.
Created attachment 95849 [details, diff]
This incorporates and replaces bitchx-1.1-gcc34.patch
Created attachment 95850 [details]
*** This bug has been marked as a duplicate of 113736 ***