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 ----