Node:Build Problems, Previous:Building, Up:Installation



Problems building SFS

The most common problem you will encounter is an internal compiler error from gcc. If you are not running gcc-2.95.2 or later, you will very likely experience internal compiler errors when building SFS and need to upgrade the compiler. You must make clean after upgrading the compiler. You cannot link object files together if they have been created by different versions of the C++ compiler.

On OSF/1 for the alpha, certain functions using a gcc extension called __attribute__((noreturn)) tend to cause internal compiler errors. If you experience internal compiler errors when compiling SFS for the alpha, try building with the command make ECXXFLAGS='-D__attribute__\(x\)=' instead of simply make.

Sometimes, a particular source file will give particularly stubborn internal compiler errors on some architectures. These can be very hard to work around by just modifying the SFS source code. If you get an internal compiler error you cannot obviously fix, try compiling the particular source file with a different level of debugging. (For example, using a command like make sfsagent.o CXXDEBUG=-g in the appropriate subdirectory.)

If your /tmp file system is too small, you may also end up running out of temporary disk space while compiling SFS. Set your TMPDIR environment variable to point to a directory on a file system with more free space (e.g., /var/tmp).

You may need to increase your heap size for the compiler to work. If you use a csh-derived shell, run the command unlimit datasize. If you use a Bourne-like shell, run ulimit -d `ulimit -H -d`.

On some operating systems, some versions of GMP do not install the library properly. If you get linker errors about symbols with names like ___gmp_default_allocate, try running the command ranlib /usr/local/lib/libgmp.a (substituting wherever your GMP library is installed for /usr/local).