Perl 5.8.3 building is severely mangled on AIX. Attached are the changes required to get a clean build and test: - Makefile.SH - hints/aix.sh - config.defs When these problems are fixed the changes should be added to the 5.9.x tree also. If someone can point me to the CVS info for perl 5.[89].x, I'll do nightly builds to hopefully avoid breakage like this in the future on AIX. 1) Makefile.SH Several modules report requiring additional stack memory for maximum optimization. In hints/aix.sh change -qmaxmem=16384 to -qmaxmem=-1 so no compilation stack limits are imposed. This option is valid for all versions of VAC currently supporte by IBM. Perhaps a check should be made for pre-VAC 5.0 and add -qmaxmem=32768, or the max, whatever that might be. 2) hints/aix.sh Something has changed in the default AIX link processing. It appears -bexpall is only sometimes enforced. The ld docs state -bexpall is still the default behavior and this appears to be a dirty, rotten lie. :-) This occurs on later versions of AIX 433 and all versions of 510, 520 and 520+. It's unclear whether this is a VAC or ld problem. Change the following in Makefile.SH to drop deprecated flags (-H512 -T512) and add -bexpall. aix*) shrpldflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:perl.exp" case "$osvers" in 3*) shrpldflags="$shrpldflags -e _nostart" ;; *) shrpldflags="-bnoentry -bexpall -bhalt:4 -bM:SRE -bE:perl.exp" ;; esac shrpldflags="$shrpldflags $ldflags $perllibs $cryptlib" linklibperl="-L $archlibexp/CORE -L `pwd | sed 's/\/UU$//'` -lperl" ;; Adding -bexpall should be okay, as it's suppose to be the default anyway. When IBM fixes this (someday) the -bexpall will become a NOP. 3) config.defs Here's where the majority of breakage occurs. Someone has mangled library entry point sensing for AIX. As a result many HAS_* and I_* constants are left commented out. Imagine how well perl runs with HAS_PIPE and HAS_SOCKET commented out. See the attached config.defs file for the #defines I added to get a clean build. If someone can suggest a *real* fix for this, I'll try it and report my results. 4) Configure args required for HAS_*/I_* workaround Just setting HAS_* is insufficient for getting the extensions Socket and IPC/SysV to build. Here's the Configure command line which seems to get the job *** partially *** done: bash ./Configure \ -Dprefix=/usr/local/perl-5.8.3-32bit -des -Dusedevel \ -Doptimize=-g -DDEBUGGING -Dusenm -Dusethreads -Duseshrplib \ -Dd_dosuid -Dd_socket -Dd_msg -Dd_sem -Dd_shm \ -Dbison -Dyacc='bison -y' \ -Dcf_by='http://www.davidfavor.com' \ -Dcf_email='dfavor@davidfavor.com' This is a required workaround until library entry point sensing is fixed. 5) bison sensing broken -Dyacc='bison -y' must be added as bison sensing is broken also. -- www.RadicalHealth.com - subscribe@radicalhealth.com Simple ways to look, feel and live your best ever!Thread Next