[IRCServices Coding] gcc
Andrew Church
achurch at achurch.org
Sat Apr 5 09:37:42 PST 2003
>To save you the time of checking up in the FAQ, read below.
>
>B.1. When I run "make", I get an error message like "missing separator",
> "Need an operator", "Unexpected end of line seen", etc.
Just for the record, this is B.2. B.1 reads as follows:
B.1. Red Hat says GCC 2.96 doesn't have bugs anymore [www.redhat.com]. Why
don't you allow it to be used with Services?
Because, as Red Hat themselves admit (and just about anyone
involved in Linux development can tell you), some releases of
GCC 2.96 did have serious bugs in them, and I have personally
verified that at least some releases of 2.96 fail to compile
Services correctly. Since Red Hat, in one of their many stupid
decisions, chose not to change the version string in the fixed
releases, I have no way to tell whether a given release of GCC
2.96 is a "fixed" one or not. Rather than have to wade through
assembly listings for every case of a bad GCC release, I've
chosen to disallow the use of GCC 2.96 entirely. The previous
version of GCC, 2.95.3, is known to work correctly with
Services, as are more recent versions (3.2 in particular);
either downgrade or upgrade before compiling Services, or
install from a binary distribution instead of the source code.
If you absolutely must compile Services using GCC 2.96, you can
override the configure check with the -force-gcc-2.96 option.
However, the author will not provide support for any problems
which occur if you override this check.
Incidentally, Services is believed to not have any of the
programming bugs Red Hat discusses on the page referenced
above. The one exception is pointer aliasing optimization (the
"int i; *(float *)&i = 2.0;" example), which is a bug in the C
standard, and is disabled when compiling Services anyway.
--Andrew Church
achurch at achurch.org
http://achurch.org/