meb@cs.mu.OZ.AU (Matthew Barry) (04/01/91)
Perl 4.0 has a name clash on the Iris 4D running Iris 3.3.1. The
offending files are sys/file.h and form.h. The problems are
#define f_next f_up.f_unext
in sys/file.h and
struct formcmd {
struct formcmd *f_next;
ARG *f_expr;
STR *f_unparsed;
line_t f_line;
char *f_pre;
short f_presize;
short f_size;
short f_decimals;
char f_type;
char f_flags;
};
in form.h. The compiler mananges to compile perl! However the
resulting excutable fails several of the tests. I changed
struct formcmd *f_next;
to
struct formcmd *f_nxt;
and then updated cons.c, form.c, and toke.c.
To get all tests to pass (lib/big produces a bad free ingnored):
1. Use the perl malloc (lots of tests fail without this);
2. Set the optimizer flags to -Olimit 3000 if optimizing (this just
keeps the compiler quiet);
3. Edit config.sh so that d_volatile='undef';
4. Edit config.sh so that d_vfork='undef';
5. Edit config.sh so that d_voidsig='define' (this just keeps the
compiler quiet).
With the above changes perl 4.0 passed all tests on our Iris 4D
running Irix 3.3.1. If you are running Irix 3.3 you also need to
undef memcmp.
Matthew Barry