Reputation: 318
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]
Upvotes: 1
Views: 114
Reputation: 11
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]
Upvotes: 1