[comp.lang.perl] Perl.4.0 on DECStation 3100/ULTRIX 4.1

skunz@iastate.edu (Kunz Steven L) (03/29/91)

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

jv@mh.nl (Johan Vromans) (03/29/91)

In article <skunz.670196169@grafix.cc.iastate.edu> skunz@iastate.edu (Kunz Steven L) writes:
| 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.

Using the perl supplied malloc also helps.

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

It is wrong in the include files (at least in Ultrix 4.0). That's
where Configure gets it from.

	Johan

-- 
Johan Vromans				       jv@mh.nl via internet backbones
Multihouse Automatisering bv		       uucp: ..!{uunet,hp4nl}!mh.nl!jv
Doesburgweg 7, 2803 PL Gouda, The Netherlands  phone/fax: +31 1820 62911/62500
------------------------ "Arms are made for hugging" -------------------------

jbryans@beach.csulb.edu (Jack Bryans) (03/31/91)

Ignorance is bliss?  Before reading here about all the difficulties folks're
having w/perl 4.0 on Ultrix 4.1, I made it out'a the box for our DEC 5810,
Ultrix 4.1 and it passed all tests.  I used gid_t * for the getgroups type (&
wondered if it was right), and cc -g (I don't trust that compiler).  Everything
else was vanilla -- no edits, no patches, no nothin'.  If it matters, the tar
was ftp'd from prep.ai.mit.edu.

Jack

jv@mh.nl (Johan Vromans) (04/01/91)

In article <JBRYANS.91Mar31112747@beach.csulb.edu> jbryans@beach.csulb.edu (Jack Bryans) writes:
| Ignorance is bliss?  Before reading here about all the difficulties folks're
| having w/perl 4.0 on Ultrix 4.1, I made it out'a the box for our DEC 5810,
| Ultrix 4.1 and it passed all tests.  I used gid_t * for the getgroups type (&
| wondered if it was right), and cc -g (I don't trust that compiler).  Everything
| else was vanilla -- no edits, no patches, no nothin'.

The 'getgroups' problem only shows if you are a member of more than
one group. I'm talking about Ultrix 4.0, it might be fixed in Ultrix
4.1.
Since you do not trust the compiler, you can hardly say "Ignorance is
bliss" :-) .

	Johan
-- 
Johan Vromans				       jv@mh.nl via internet backbones
Multihouse Automatisering bv		       uucp: ..!{uunet,hp4nl}!mh.nl!jv
Doesburgweg 7, 2803 PL Gouda, The Netherlands  phone/fax: +31 1820 62911/62500
------------------------ "Arms are made for hugging" -------------------------

bobd@magnus.ircc.ohio-state.edu (Bob DeBula) (04/01/91)

In article <1991Mar29.123600.585@pronto.mh.nl> Johan Vromans <jv@mh.nl> writes:
>
>In article <skunz.670196169@grafix.cc.iastate.edu> skunz@iastate.edu (Kunz Steven L) writes:
>
>| 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.
>
>It is wrong in the include files (at least in Ultrix 4.0). That's
>where Configure gets it from.
>

It's wrong in Ultrix 4.1 also, c'mon DEC!