Failures bulding Perl 5.32.1 on HP-UX (hpia11.31) - related to failed regex evaluations

99 Views Asked by At

I'm attempting to build Perl 5.32.1 on an hpia11.31 system and am getting what appear to be failures in regex evaluations. For instance, make_patchnum.pl fails because a regex intended to pull the filename from a heredoc instead returns the entire heredoc as the filename:

./miniperl -Ilib make_patchnum.pl
Failed to open for write './lib/Config_git.pl' is generated by make_patchnum.pl
#          DO NOT EDIT DIRECTLY - edit make_patchnum.pl instead
######################################################################
$Config::Git_Data=<<'ENDOFGIT';
git_commit_id=''
git_describe=''    
git_branch=''
git_uncommitted_changes=''
git_commit_id_title='':File name too long at make_patchnum.pl line 84.

Manually getting past that, configpm exhibits the same issue: regex evaluations to extract variable headers fail in 5.32.1 where they succeed in 5.28.1. Example:

Expected a Configure variable header, instead we got:
_exe (Unix.U):
    This variable defines the extension used for executable files.
    DJGPP, Cygwin and OS/2 use '.exe'.  Stratus VOS uses '.pm'.
    On operating systems which do not require a specific extension
    for executable files, this variable is empty.

I assume this is using the regexec.c built earlier in the build process, although I don't know that for certain. Tne regexec.c build reports some warnings, but they seem in line with warnings reported against 5.28.1: I don't see anything here that suggests it doesn't work.

Here's the build command for regexec.c:

cc -c -DPERL_CORE -D_POSIX_C_SOURCE=199506L -D_REENTRANT \
-Ae -Wp,-H150000 -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 \
-D_INCLUDE__STDC_A1_SOURCE -I/usr/local/include -D_LARGEFILE_SOURCE \
-D_FILE_OFFSET_BITS=64 +O2 +Onolimit regexec.c

Any ideas why the regex parser might behave differently on HP-UX from other platforms? I've successfully built 5.32.1 for x86 Linux, plinux, zlinux, rs6000, and Solaris, so this seems specific to HP-UX.

EDIT: compiler info

bash-4.0$ /opt/aCC/bin/cc --version
cc: HP C/aC++ B3910B A.06.20 [May 13 2008]
1

There are 1 best solutions below

3
Tux On

Which compiler is your cc? You require the ANSI-C compiler to be able to build perl on HP-UX

$ cc --version cc: HP C/aC++ B3910B A.06.28.02 [Mar 09 2016]

$ cc -V cc: HP C/aC++ B3910B A.06.28.02 [Mar 09 2016]