Mods to make perl under AIX 3.01 - and possible compiler bug
Richard Alan Brown
rab at tauon.ph.unimelb.edu.au
Tue Feb 5 17:04:37 AEST 1991
The following modifications needed to be made to the perl (Release 3
patchlevel 28) source to compile on an IBM RS/6000 running AIX 3.01:
I am posting this:
(a) for your information
(b) for your ideas - particularly about problem 4. below.
1. in x2p/util.c
the AIX xlc compiler throws up on:
#ifdef undef
...it regards 'undef' as a illegal keyword
I changed `undef' to `UNDEF'
2. in perl.h
can't redefine sprintf(). Enclose within #ifndef AIX / #endif pair
(and add -DAIX to CFLAGS in the makefile)
3. in doio.c
In the conditional compilation determined by PWCLASS, the code assumes that
if pw_class is not present, then pw_comment is. This is not true for AIX.
I have set it to pw_gecos for want of a better idea.
4. in eval.c
The compiler complains about multiple instances of the `case' 32 in the big
switch statement. This appears to be a bug in the compiler, since inspection
of the preprocessor output confirms that there is only one instance of the
case '32'. Changing the definition of O_COMPLEMENT from 32 to 247 made the
problem disappear.
With the above mods, perl compiles and links. Doing 'make test' shows that
this version of perl fails the following tests:
io.pipe test 1
op.exec test 8
the others are ok. Since i am a perl novice, i haven't looked closely at this.
rab
------------------------------------------------------------------------
Richard Brown | E-mail: rab at tauon.ph.unimelb.EDU.AU
School of Physics | Phone : +61 3 344 5081
University of Melbourne | Fax : +61 3 347 4783
Parkville Victoria AUSTRALIA 3052 | Telex : AA35185
More information about the Comp.unix.aix
mailing list