Newsgroups: comp.lang.perl
Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!m.cs.uiuc.edu!ux1.cso.uiuc.edu!news.iastate.edu!grafix.cc.iastate.edu!skunz
From: skunz@iastate.edu (Kunz Steven L)
Subject: Perl.4.0 on DECStation 3100/ULTRIX 4.1
Message-ID: <skunz.670196169@grafix.cc.iastate.edu>
Summary: Experiences with Perl.4.0 on DECStation 3100/ULTRIX 4.1
Keywords: Perl DECStation 3100 ULTRIX 4.1
Sender: news@news.iastate.edu (USENET News System)
Organization: Iowa State University, Ames IA
Date: 28 Mar 91 21:36:09 GMT
Lines: 96

I had some problems getting Perl 4.0 to pass all tests on a DECStation 3100
(RISC arch) running ULTRIX 4.1 (latest release).  For those of you who have
not tried it yet (or are mired in problems) here is what I did ...

1) Even following the recommendations for MIPS compilers in README, you get
   8 of the checkout tests failing.  All but one of these (and it is
   addressed in the next section) are fixed by patching the consarg.c module.
   The 7 fixed by the consarg.c patch are:

   comp/cmdopt....FAILED on test 0
   op/exp.........FAILED on test 0
   op/index.......FAILED on test 0
   op/int.........FAILED on test 0
   op/ord.........FAILED on test 0
   op/pack........FAILED on test 0
   op/substr......FAILED on test 0

   I applied the unofficial patches (I REALLY think they should be official now)
   from Darryl Okahata posted here previously.  These are applied to consarg.c
   and fix most errors.  Darryl indicated they were for some other system, 
   but they are necessary for ULTRIX 4.1 also.  I have appended them here 
   again since they are short.  Thank Darryl - not me.  His posting indicated 
   he is at "darrylo@hpnmdla.hp.com".

2) When running Configure, I took most of the defaults.  Exceptions were
   as follows:
      
   - Don't let the group-id default to "gid_t" - specify "int" instead.
     This is based on info presented in this newsgroup by Johan Vromans
     (jv@mh.nl).  The ULTRIX 4.1 docs document it right - Perl just picks
     the wrong default for this version.  This fixes the remaining test
     failure - the one you get from groups.t.

3) When Configure gives you the opportunity to edit config.sh, do it and change
   d_volatile to be undefined.  Everything else seems to come out all right
   and matches recommendations in the README file.

4) I really didn't fiddle with optimization - I just let the gripes about 
   "unable to optimize" come out and didn't worry about it.  Works fine anyway.

Hope this helps someone.  I obviously got a great deal of help from other
people and their postings to this group!  Thanks to all.

Steve Kunz -- Iowa State University Computation Center
              Ames, IA  USA

--------- Patch to consarg.c from Darryl Okahata at HP follows ------------

*** consarg.c.~1~	Thu Mar 21 15:01:35 1991
--- consarg.c	Thu Mar 21 20:33:52 1991
***************
*** 555,561
  	if (str) {
  	    arg->arg_type = O_ITEM;	/* note arg1 type is already SINGLE */
  	    str_free(s1);
- 	    str_free(s2);
  	    arg[1].arg_ptr.arg_str = str;
  	    arg[2].arg_ptr.arg_str = Nullstr;
  	    arg[2].arg_type = A_NULL;

--- 555,560 -----
  	if (str) {
  	    arg->arg_type = O_ITEM;	/* note arg1 type is already SINGLE */
  	    str_free(s1);
  	    arg[1].arg_ptr.arg_str = str;
  	    if (s2 != Nullstr) {
  		str_free(s2);
***************
*** 557,564
  	    str_free(s1);
  	    str_free(s2);
  	    arg[1].arg_ptr.arg_str = str;
! 	    arg[2].arg_ptr.arg_str = Nullstr;
! 	    arg[2].arg_type = A_NULL;
  	}
      }
  }

--- 556,566 -----
  	    arg->arg_type = O_ITEM;	/* note arg1 type is already SINGLE */
  	    str_free(s1);
  	    arg[1].arg_ptr.arg_str = str;
! 	    if (s2 != Nullstr) {
! 		str_free(s2);
! 		arg[2].arg_ptr.arg_str = Nullstr;
! 		arg[2].arg_type = A_NULL;
! 	    }
  	}
      }
  }
-- 
============================================
Steven L. Kunz -- Local Usenet Administrator
Iowa State University, Ames  IA
skunz@iastate.edu
