[comp.unix.ultrix] perl on DECstation, Ultrix 4.1

rusty@belch.Berkeley.EDU (Rusty Wright) (12/10/90)

What's the trick to get perl (patch level 41) to compile under Ultrix
4.1 on a DECstation with optimization?  I thought I remembered someone
saying that you had to use 1 for VOIDFLAGS and I'm doing that, but
it's still failing tests op.eval and op.s.

jv@mh.nl (Johan Vromans) (12/10/90)

In article <RUSTY.90Dec9105756@belch.Berkeley.EDU> rusty@belch.Berkeley.EDU (Rusty Wright) writes:

   What's the trick to get perl (patch level 41) to compile under Ultrix
   4.1 on a DECstation with optimization?  I thought I remembered someone
   saying that you had to use 1 for VOIDFLAGS and I'm doing that, but
   it's still failing tests op.eval and op.s.

If you are using the standard C-compiler: don't optimize.  If you are
using gcc (OSF version 1.9.2.13): no problems should occur except for
a few compilation warnings.

	Johan

evans@decvax.DEC.COM (Marc Evans) (12/10/90)

In article <RUSTY.90Dec9105756@belch.Berkeley.EDU>, rusty@belch.Berkeley.EDU (Rusty Wright) writes:
|> What's the trick to get perl (patch level 41) to compile under Ultrix
|> 4.1 on a DECstation with optimization?  I thought I remembered someone
|> saying that you had to use 1 for VOIDFLAGS and I'm doing that, but
|> it's still failing tests op.eval and op.s.

undef volatile

- Marc
-- 
===========================================================================
Marc Evans - WB1GRH - evans@decvax.DEC.COM  | Synergytics     (603)635-8876
      Unix and X Software Contractor        | 21 Hinds Ln, Pelham, NH 03076
===========================================================================

meissner@osf.org (Michael Meissner) (12/11/90)

In article <RUSTY.90Dec9105756@belch.Berkeley.EDU>
rusty@belch.Berkeley.EDU (Rusty Wright) writes:

| What's the trick to get perl (patch level 41) to compile under Ultrix
| 4.1 on a DECstation with optimization?  I thought I remembered someone
| saying that you had to use 1 for VOIDFLAGS and I'm doing that, but
| it's still failing tests op.eval and op.s.

Don't optimize, and set d_castneg to 'undef'.  I don't remember
off-hand which are the modules that have traditionally broken the MIPS
optimizer.  The castneg was recently reported, and it's because PERL
and the MIPS compiler disagree on how negative floats are to be
converted to unsigned.

Alternatively, you could use my patches to GCC, which runs perl just
fine even at the highest optimization level.  If you have Ultrix 3.1,
you do have to tell perl no to use the waitpid function, since the
function is broken in those revisions.
--
Michael Meissner	email: meissner@osf.org		phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142

Considering the flames and intolerance, shouldn't USENET be spelled ABUSENET?

tale@rpi.edu (David C Lawrence) (12/14/90)

Well, I find this all very curious.  I am wondering right now what
might be secretly broken in my the perl I had installed on the
DECstations several days ago.  I compiled on the 5600, running Ultrix
3.1C, with gcc first (well, second, after the native compile didn't do
the trick and also had problems with void).  Then I saw someone who
followed up to Rusty's request saying to undefine volatile.  So I did,
and recompiled.  Then perl passed all of its tests.  So I installed
it, somewhat trusting that it would be fine.

In short, how I compiled with cc:

 o -DLANGUAGE_C -O -Olimit 3000[*] options
 o undef waitpid
 o undef volatile

In particular, the various things I did not do which Rusty and Michael
say to do:

  o -DJMPCLOBBER
  o Use "1" as voidflags (I used the 3 Configure decided on)
  o Don't use optimisation

Are these simple differences in the version of the OS?  (Yes, I saw
that Michael said you could leave waitpid defined for Ultrix 4.)

[*] I am expecting that Rusty's suggesting the use of -Olimit 30000 to
optimise eval.c was a typo.  I had upped it to 3000 to optimise both
t?eval.c and t?toke.c though.  My machine wasn't as severely hosed by
it as his was.  However they did take much longer to compile, but it
was still completely done, from Configure to {,taint,suid}perl, in all
under an hour.
--
   (setq mail '("tale@cs.rpi.edu" "tale@ai.mit.edu" "tale@rpitsmts.bitnet"))