Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!bionet!agate!usenet.ins.cwru.edu!gatech!purdue!mentor.cc.purdue.edu!mace.cc.purdue.edu!abe From: abe@mace.cc.purdue.edu (Vic Abell) Newsgroups: comp.lang.perl Subject: Re: Perl 4.003 on RS/6000 AIX 3.1 Message-ID: <7256@mace.cc.purdue.edu> Date: 17 Apr 91 21:24:32 GMT References: Distribution: comp Organization: Purdue University Lines: 36 In article , victor@watson.ibm.com (Victor Miller) writes: > I've found the secret to building Perl 4.003 on RS/6000 AIX 3.1: use > bsdcc as the compiler instead of cc. You can even specify -O (it > passes all regression tests.). Under AIX 3.1 (3003) on my system, using bsdcc to compile Perl 4.0, patch level 3 causes the return value of signal() to be miscast as int. This can be corrected by adding the following to config.h #define _MBI void However, cc can also be used with only a single correction -- the test for casting the return value of sprintf() in config.h needs to be modified. The following diffs illustrate the change: *** perl.h.b4 Wed Apr 17 11:01:32 1991 --- perl.h Wed Apr 17 11:02:22 1991 *************** *** 377,383 **** # define I286 #endif ! #ifndef __STDC__ #ifdef CHARSPRINTF char *sprintf(); #else --- 377,383 ---- # define I286 #endif ! #if !defined(__STDC__) && !defined(_IBMR2) #ifdef CHARSPRINTF char *sprintf(); #else Vic Abell