Operating System - HP-UX
1752793 Members
5856 Online
108789 Solutions
New Discussion юеВ

Perl 5.8 on HPUX10.01 trouble

 
SOLVED
Go to solution
Michael D. Zorn
Regular Advisor

Perl 5.8 on HPUX10.01 trouble

Downloaded Perl 5.8 source. When running hints file 'hpux.sh', it thinks I need 64-bit compilation - I don't. There a case test for

case "$use64bitint" in
$define|true|[Yy]
.....

Both $use64bitint and $define are null, so it falls into the "64 bit" branch.

Is "define" supposed to be set outside of hpux.sh?

PS: the 'vnocompatwarnings' flag to cc and ld isn't understood at all. I took that out and got past the first set of errors.

Also, a line

cat <$4

fails because FD 4 isn't opened in 'hpux.sh'. I had to add an exec line to get past those errors.

The README file suggests that you can run 'hpux.sh' by itself.
16 REPLIES 16
Geoff Wild
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

Ouch - Hp-UX 10.01....

You might be able to use Merijn's perl for 10.20 32 bit...

http://www.cmve.net/~merijn/

Rgds...Geoff
Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
H.Merijn Brand (procura
Honored Contributor
Solution

Re: Perl 5.8 on HPUX10.01 trouble

The hints file is called from Configure, after Configure has set *_MANY_* variables.

The README in the hints subfolder explain how it works, but it is not for the faint of heart.

The hints file (hpux.sh) is not supposed to be called from the command line. Read INSTALL to see what you /are/ supposed to do.

# Configure -des

Should get the default settings.
If that fails, I am very interested in /what/ is failing.

Just out of curiousity, what 5.8 version are you trying? 5.8.4 is the most recent stable version. 5.8.8 is due early July

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Michael D. Zorn
Regular Advisor

Re: Perl 5.8 on HPUX10.01 trouble

Procura: I have 5.8.3. Seems like they come out with new versions faster than I can get the last one installed.

I had a much earlier version (don't remember which), which worked fine, then I thought I'd be modern and clever, deleted it then looked for the new one. (Not enough free disk space for both.)

I'll run Configure -des ......... It'd still fail with the 'vnocompatwarnings', so I'll use the hpux.sh I modified to get rid of those. So far, that's the only change.

OK, I just had a long conversation with Configure (I just listened...). It seems to work a lot better with

sh Configure -des

even though Configure starts with

#!/usr/bin/sh

A lot of things found, many not found, but it seems to have gone all the way without breaking. I probably should have run it with %script. Mostly it complained about 'try' (there's one in hpux.sh, maybe that's the only one. Here, it should be "4". Couldn't it just ask?) OK, now for the make .....

While I'm waiting for that:
Geoff: Yep, 10.01. I've been thinking of upgrading to 10.20 (see earlier comment about new stuff coming out before I get the last one in).

My concern here is that our system is tied to the Ingres database (formerly from Computer Associates, but now apparently defunct. They still seem to support it, for the yearly trouble call, but that probably won't last.)

There's probably another forum for asking about going to 10.2 or 11.0 and trying to get Ingres to still run - any suggestions?

Back to perl make... Rats...
It did miniperlmain.c, perl.c, gv.c, but at toke.c I get

cc: Perl_yylex(): error 65536: Bit vectors: Set out of memory.

The flags it set for the compiles are

-DPERL_CORE
-D_HPUX_SOURCE
-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
and
-DARG_ZERO_IS_SCRIPT
for toke.o

I don't see why I need LARGEFILE; I don't expect to deal with Gb files.

If I can't get through the compiles, are your (Merijn's) downloads binaries?

Thanks for the help.
Bill Hassell
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

10.01 has been obsolete and unsupported for many years. 10.20 is also obsolete and unsupported since last year. HP stopped creating patches for 10.20 back in 2001. There is no way to upgrade to 10.20 unless you have the actual 10.20 CDs. 11.0 is nearing obsolescence (it was first released in 1997). I would look at 11.11 as your next step, along with purchasing additional disk space. Small SCSI disks (4Gb and 9Gb) are fairly cheap.

As far as Ingres goes, the CA web page does not clearly mention HP-UX for the current version (2.6 dated 2002). There is a link that states Ingres 2.5 is available for 11.0. 11.0 and 11.11 are fairly similar but 10.01 is very different from 11.anything. An upgrade from 10.01 is basically doomed. You might be one of the lucky ones but don't do any upgrades without an Ignite/UX backup.


Bill Hassell, sysadmin
H.Merijn Brand (procura
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

I don't think my 10.20 will run on your 10.01, because of the library incompatibilities.

You've supplied me with some nice input. I have attached a modified hints file here and would like to see what happens. I have incorporated two changes

- Remove nocompatwarnings for all OS < 10.20
- Make LARGEFILES undefined by default for OS < 10.20

If this passes, please feedback fast.
# perl -le'print scalar reverse"ln.arucorp\@njirem:otliam"'

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Michael D. Zorn
Regular Advisor

Re: Perl 5.8 on HPUX10.01 trouble

Procura: Thanks - I'll start all over with your hpux.sh. I'll run Configure in %script to catch the output, and I'll let you know.

Bill: Thanks for the info about 10.x. The problem is that it just runs and runs. Do you know offhand if I can install 11.x or 12.x on an HP9000/K200 system?

There's a lot of busy-work today, so I won't be back before 6pm or so (PDT).


Bill Hassell
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

Yes, 11.0 and 11.11 can be installed on your K200 and runs just fine. 12.x may not ever exist. The latest naming convention is 11i which covers 11.11 in several versions like 1.5, etc. For us sysadmins, it is not much fun because a simple numbering scheme like 11.30 and 11.67 and so on may disappear soon, replaced by a family (11i) and a version like 1.7 (I hope we don't have to go down the version 1.8.4.3.97.B road...)


Bill Hassell, sysadmin
Michael D. Zorn
Regular Advisor

Re: Perl 5.8 on HPUX10.01 trouble

Merijn: I ran with your hpux.sh.

(There's a typo on line 147 - 'if' should be 'fi')

I captured the Configure output in a script. I turned off the 'silent output' trying to figure out where the error was, but haven't looked through it all yet.)

Configure ran without error (I used 'sh Configure -des').

make: I still get the same error:

cc: Perl_yylex(): error 65536: Bit vectors: Set out of memory.

Does that mean the process is out of memory, or that somebody's trying to set a bit out of an array?

The LARGEFILE and FILE_OFFSET_BITS disappeared, this time toke.c got

-DPERL_CORE
-D_HPUX_SOURCE
-DARG_ZERO_IS_SCRIPT

Perl_yylex() is a function inside toke.c, at line 2190. What's weird is that I can't match the opening { (I'm using vi, "%" matches braces and parens, but not that one.)

I'll take a look at the Configure output and see if anything helps.

H.Merijn Brand (procura
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

thanks for the typo catch.

the changes look good, so the new hists worked well.

toke.c is a prime candidate for optimizer failures. I personally even reconfigured my 10.20 system kernel to enable maximum optimization on toke.c

You can cut-n-paste the toke.c compile command line from the make output and remove the -O or +O flags, so optimizing is off, or you can try to change the toke.c line #154 in the hints from

# When HP-UX runs a script with "#!", it sets argv[0] to the script name.
toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"'

to

# When HP-UX runs a script with "#!", it sets argv[0] to the script name.
toke_cflags='ccflags="$ccflags +O0 -DARG_ZERO_IS_SCRIPT"'

And see if it now passes. If it does, I'll commit the combined change to the hints, and it'll be in 5.8.5

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn