Known installation problems (and workarounds):

----

(configure): If configure fails with a message like "error: cannot
compute sizeof (long int), 77", then the reason is typically a failure
to link against a particular library -lfoo.  Check config.log for the
error message reported by the compiler.  It should provide sufficient
information to identify the shared library in question.  There are
many ways in which a shared library installation may be broken: wrong
or missing links, wrong or stale search paths, permissions, locations,
etc.

----

(gcc) There are reports of installation problems with gcc 3.2.x (gcc
crashes with an internal compiler error).  Suggested workaround:
remove the "-g" flag by calling configure with CFLAGS="-O2", or
upgrade to gcc 3.3.

----

(xsltproc) If the xsltproc binary is present but chokes on the
documentation XML written by the compiler, then building the compiler
fails.  A workaround is to do disable xsltproc manually.
To do this, change the xsltproc entry in rsrc/OOC/oo2crc.xml.mk to 

  <set name='xsltproc'>no</set>

_after_ running configure, but _before_ running make.

----

(MacOSX): When installing from a distribution tar ball, MacOS X users
need to add "-traditional-cpp" to the gcc options, like

  CPPFLAGS="-traditional-cpp" ./configure

----

(Mandrake 9.1, Yellow Dog Linux 3.0): 

  - to compile on YDL3.0 you need GCC 3.3.1
  - if you are just installing libgc to /usr/local (tarball default):
      copy gc's include/gc.h to a new directory: /usr/local/include/gc/gc.h
      add /usr/local/lib to /etc/ld.so.conf AND run (/sbin/)ldconfig
  - libgc needs the dlopen symbol, which is in libdl
  - call configure with 

    CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib -ldl" ./configure

  [hints from Richard Theil]

----

(IRIX 5.3): IRIX uses a slightly different signature of readdir_r (two
arguments instead of three, returning the same value as readdir).
This means that line 70 in lib/src/OS/Files.c 
    while (readdir_r(dir, &u.d, &de) == 0) {
needs to be replaced with
    while (1) {
      de = readdir_r(dir, &u.d);
[I would appreciate if someone could provide an autoconf test for this.]

----

(Static Linking with libtool 1.5.6) Building a statically linked
program with `--ldflags "-all-static"' may fail due to unresolved
symbols from the math library, like floor().  The reason for this is
that libtool somehow drops the dependency of liboo2c on libm.  As a
workaround, locate the installed libtool file liboo2c.la and add `-lm'
to the beginning of the variable `dependency_libs'.