Contents|Index|Previous|Next

Problems Compiling Certain Programs

Certain programs have problems compiling.

- Parse errors may occur compiling X11 on a Decstation running Ultrix 4.2 because of problems in DECs versions of the X11 header files X11/Xlib.h and X11/Xutil.h. People recommend adding -I/usr/include/mit to use the MIT versions of the header files, using the -traditional switch to turn off ANSI C, or fixing the header files by adding the following input.

    #ifdef __STDC__
    #define NeedFunctionPrototypes 0
    #endif

- If you have trouble compiling Perl on a SunOS 4 system, it may be because Perl specifies -I/usr/ucbinclude. This accesses the unfixed header files. Perl specifies the following options most of which are unnecessary with GCC 2.4.5 and newer versions.

    -traditional -Dvolatile=__volatile__
    -I/usr/include/sun -I/usr/ucbinclude
    -fpcc-struct-return

You can make a properly working Perl by setting ccflags to -fwritable-strings (implied by the option, -traditional, in the original options) and cppflags to empty in config.sh, then using the following input.

    ./doSH; make depend; make

- On various 386 Unix systems derived from System V, including SCO, ISC, and ESIX, you may get error messages about running out of virtual memory while compiling certain programs.
You can prevent this problem by linking GNU CC with the GNU malloc (which thus replaces the malloc that comes with the system). GNU malloc is available as a separate package, and also in the file, src/gmalloc.c in the GNU Emacs 19 distribution.
If you have installed GNU malloc as a separate library package, use the following option when you relink GNU CC.

    MALLOC=/usr/local/lib/libgmalloc.a

Alternatively, if you have compiled gmalloc.c from Emacs 19, copy the object file to gmalloc.o and use the following option when you relink GNU CC.

    MALLOC=gmalloc.o