[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