You have to change some of the standard header files supplied with your version of Interactive. You also need to change some of the include files in the gcc-lib/include directory.
Let us say the gcc-files are in directory
/usr/local/lib/gcc-lib/i[345]86-isc[34].[0-9]/2.6.x
referred to as "gcc-lib"
/usr/include/sys/limits.h
and gcc-lib/include/sys/limits.h
#ifndef OPEN_MAX #ifdef ISC #define OPEN_MAX 256 #else #define OPEN_MAX 20 #endif #endif
OPEN_MAX
had to be increased to prevent
Xlib Errors (max no. of clients reached).
/usr/include/sys/ioctl.h
surrounded by
#ifndef _IOCTL_H #define _IOCTL_H ... #endifto prevent multiple includes.
/usr/include/errno.h
(and the corresponding gcc-include-file) add
#include <net/errno.h>because of EWOULDBLOCK undefined in several places regarding lbx. Surround
/usr/include/net/errno.h
with
#ifndef _NET_ERRNO_H #define _NET_ERRNO_H ... #endif
to prevent multiple includes were <net/errno.h>
is explicit included from the sources.
/usr/include/rpc/types.h
copy this file to gcc-lib/include/rpc/types.h
and change the declaration of malloc() to
#if !defined(__cplusplus) extern char *malloc(); #endif
Note that this is only necessary if you want to build Fresco
/usr/include/sys/un.h
such a file does not exist on Interactive. You may like to generate it, if you don't like a warning from depend. It isn't needed to compile the sources successfully.
You could use the following to produce it:
#ifndef X_NO_SYS_UN struct sockaddr_un { short sun_family; /* AF_UNIX */ char sun_path[108]; /* path name (gag) */ }; #endif
/usr/include/math.h
To use the Inline Math package you have to change your existing math.h. Please note, the way I include the new Header file, is different than suggested in inline-math's README.
Please add the following at the bottom of math.h, before the last #endif
#if defined(UseInlineMath) /* Needed on ISC __CONCAT, PI */ #ifndef __CONCAT /* * The __CONCAT macro is used to concatenate parts of symbol names, e.g. * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. * The __CONCAT macro is a bit tricky -- make sure you don't put spaces * in between its arguments. __CONCAT can also concatenate double-quoted * strings produced by the __STRING macro, but this only works with ANSI C. */ #if defined(__STDC__) || defined(__cplusplus) #define __CONCAT(x,y) x ## y #define __STRING(x) #x #else /* !(__STDC__ || __cplusplus) */ #define __CONCAT(x,y) x/**/y #define __STRING(x) "x" #endif /* !(__STDC__ || __cplusplus) */ #endif #ifndef PI #define PI M_PI #endif #include "/usr/local/include/i386/__math.h" #endif