[comp.lang.perl] perl 3.0.18 for DECstation 3100?

rcpt@tuegate.tue.nl (Piet Tutelaers) (04/13/90)

I have problems in getting Perl3.0.18 running on our DECstation 3100.
Everythings compiles the first time, except that optimization needs an
extra flag (-Olimit 3000, 3000 is a save value) for the next source files:
	eval.c toke.c teval.c ttoke.c walk.c.
The test `make test' reports errors on the following two tests:
	op.eval.........FAILED on test 7
	op.s............FAILED on test 40

I have despite these two errors perl installed and tested with the perl
manscripts from Tom Christiansen, the real reason I wanted perl! But I get
the next serious error:
	man man
	data size rlimit exceeded, pid 3189, proc perl
	Out of memory!
(The DECstation has 24MB of internal memory.)

With the makewhatis-script I get:
	makewhatis /usr/man
	couldn't do "stat.pl": No such file or directory at
	/usr/local/bin/makewhatis line 357.

As is suggested in the README file I have compiled everything with the
compiler flag -DCRIPPLED_CC, but I get the same problems as above.

Is this problem known and are there solutions for it? If not what can I do
to get a working perl?

Thanks for your attention,

Piet Tutelaers
rcpt@urc.tue.nl

cmf@obie1.cis.pitt.edu (Carl M. Fongheiser) (04/14/90)

In article <1689@tuegate.tue.nl> rcpt@tuegate.tue.nl (Piet Tutelaers) writes:
>Is this problem known and are there solutions for it? If not what can I do
>to get a working perl?

I got it to work by compiling everything -O0.  I don't consider this a
desirable solution, merely a workaround.

				Carl 

vixie@decwrl.dec.com (Paul A Vixie) (04/14/90)

>> I have problems in getting Perl3.0.18 running on our DECstation 3100.

A fellow Perl hacker here in corporate research told me recently that:

	Date: Sun, 1 Apr 90 04:09:44 -0400
	From: treese@crl.dec.com (Win Treese)
	Message-Id: <9004010809.AA03533@crltrx.crl.dec.com>
	To: vixie@wrl.dec.com
	Subject: perl problems

	Never mind.  The patch claimed to have fixed a problem introduced
	after PL 8 on MIPS machines -- using "volatile" doesn't work.  At
	least on DEC MIPS machines, the patch didn't work.
 
	After running Config, if you change d_volatile to undef in config.sh
	things seem to work.

	 	- Win

He promised to tell Larry, so PL19 will probably fix this.  Meanwhile...
--
Paul Vixie
DEC Western Research Lab	<vixie@decwrl.dec.com>
Palo Alto, California		{ames,att,uunet}!decwrl!vixie

rcpt@tuegate.tue.nl (Piet Tutelaers) (04/15/90)

vixie@decwrl.dec.com (Paul A Vixie) writes:

>>> I have problems in getting Perl3.0.18 running on our DECstation 3100.

>A fellow Perl hacker here in corporate research told me recently that:
>	After running Config, if you change d_volatile to undef in config.sh
>	things seem to work.

Thanks for this mental aid. I have undef-ed HASVOLATILE in config.h and
after that all my problems mentioned before are over. Perhaps I can mention
here too that to do optimization on DEC-MIPS machines one needs to increase
the -Olimit, 3000 was a good value for me. To summarize, the value for
CFLAGS on DEC-MIPS should be:
	CFLAGS = -DLANGUAGE_C -O -Olimit 3000 
and the value of HASVOLATILE:
	/* HASVOLATILE:
	/*#undef	HASVOLATILE	/**/

I still get some warnings. I hope they will not give problems soon or
later, so I will show one:
      -------------------------------------------------------------^
ccom: Warning: eval.c, line 1381: illegal pointer combination
      	    qhand = signal(   3	, 	((void (*)())( 1)));
      -----------------------------------------------------^

I still have the problem that DEC (also on there newest DECstations) does
not offer a version of ndbm, but only the old-fashioned dbm routines. These
have the disadvantage that in one program only one databse can be opened.
I know that there exist a GNU (beta) release of gdbm with a ndbm interface.
The data base of gdbm is incompatible with BSD ndbm and dbm. Will perl use
ever these gdbm routines?

--Piet