develooper Front page | perl.vmsperl | Postings from February 2011

Potential problem with MakeMaker

Thread Next
From:
Dr. Martin P.J. Zinser
Date:
February 14, 2011 09:24
Subject:
Potential problem with MakeMaker
Message ID:
01NXTQPQ411EGJSJ7P@sysdev.deutsche-boerse.com
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 ----



Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About