Hello,
I am currently going over a number of modules to check that they install/work
with Perl 5.12.2 on OpenVMS Itanium 8.3-1H1. Most of the issues I've
encountered have
been minor and appropriate fixits have been submitted via the CPAN bug
tracker system.
One problem that I am not quit sure how to fix happens during the build
of Net::DNS 0.66 . I've already applied the changes below to make it compile
as far as it does. Now it fails with the following message:
CC/DECC /Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj
/NOANSI_ALIAS/float=ieee/ieee=denorm/Define=(_USE_STD_STAT=1,"VERSION=
""0.66""","XS_VERSION=""0.66""")/Include=(perl_root:[lib.VMS_IA64.5_12_2.CORE])/NoList
DNS.c
MCR dsa23:[user.zinser.public.gnu.perl512_root]perl.exe.1 "-MExtUtils::Command"
-e "cp" "--" netdns.olb
[.BLIB.ARCH.AUTO.NET.DNS]DNS
.OLB
If F$Search("[.BLIB.ARCH.AUTO.NET.DNS]DNS.OLB").eqs."" Then
Library/Object/Create [.BLIB.ARCH.AUTO.NET.DNS]DNS.OLB
Library/Object/Replace [.BLIB.ARCH.AUTO.NET.DNS]DNS.OLB dns.obj netdns.obj
%DCL-W-MAXPARM, too many parameters - reenter command with fewer parameters
\NETDNS\
Obviously I can go into descrip.mms and fix this manually, but that does
not fix the underlying problem. Also after staring at Makefile.PL for a while,
I do not see how this is directly triggering the problem, which makes me
suspect that there is something fishy going on in MakeMaker (6.56 as part of
5.12.2).
Any suggestions of the experts on the internal workings of MakeMaker?
Greetings, Martin
P.S. Patches applied to Net::DNS 0.66 to make it compile sofar:
*** Makefile.PL 2011-02-12 16:48:20.000000000 -0600
--- Makefile.PL.orig 2011-02-12 17:34:23.281748476 -0600
***************
*** 241,254 ****
close(F) or return;
! my $ret;
!
! if ($^O ne 'VMS'){
! $ret = system("$Config{'cc'} -c compile.c -o
compile$Config{obj_ext}");
! }
! else {
! $ret = system("$Config{'cc'} compile.c");
! }
foreach my $file (glob('compile*')) {
unlink($file) || warn "Could not delete $file: $!\n";
--- 241,247 ----
close(F) or return;
! my $ret = system("$Config{'cc'} -c compile.c -o
compile$Config{obj_ext}");
foreach my $file (glob('compile*')) {
unlink($file) || warn "Could not delete $file: $!\n";
***************
*** 271,287 ****
sub postamble {
my $content;
- my $lib_flag;
- if ($^O eq 'MSWin32' && $Config{'cc'} eq 'cl'){
- $lib_flag = '/OUT:';
- }
- elsif ($^O eq 'VMS'){
- $lib_flag = 'library/create ';
- }
- else {
- $lib_flag = 'cr ';
- }
-
$content.='
test_cover : pure_all
cover -delete
--- 264,269 ----
***************
*** 289,295 ****
cover
netdns$(LIB_EXT): netdns$(OBJ_EXT)
! $(AR) '.$lib_flag.
'netdns$(LIB_EXT) netdns$(OBJ_EXT)
';
--- 271,277 ----
cover
netdns$(LIB_EXT): netdns$(OBJ_EXT)
! $(AR) '.($^O eq 'MSWin32' && $Config{'cc'} eq 'cl'?'/OUT:':'cr ').
'netdns$(LIB_EXT) netdns$(OBJ_EXT)
';
*** netdns.h 2011-02-12 17:23:54.000000000 -0600
--- netdns.h.orig 2011-02-12 17:34:16.142483676 -0600
***************
*** 22,31 ****
* Hmmm 1010 is just a bit oversized
*/
- #ifdef MAXDNAME
- #undef MAXDNAME
- #endif
-
#define MAXDNAME 1010
int netdns_dn_expand( u_char *msg, u_char *eomorig,
--- 22,27 ----