Operating System - HP-UX
1753962 Members
7421 Online
108811 Solutions
New Discussion юеВ

Perl 5.8 on HPUX10.01 trouble

 
SOLVED
Go to solution
Michael D. Zorn
Regular Advisor

Re: Perl 5.8 on HPUX10.01 trouble

Does it make a diffference which C compiler I use? Right now everything's getting HP's 'cc', and I think I saw the -Aa flag (at least, it didn't complain about ANSI). Would gcc be better?

I'll try compiling toke by itself. The other ones are OK. If that works, I'll get to the next iron gate - 'make test'.



H.Merijn Brand (procura
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

Personally I prefer HP C-ANSI-C for a whole bunch of reasons.

If you have it, I'd pass -Ae.

If you choose to go for gcc, I think you will have a hard time to find precompiled binaries of *recent* GNU gcc for 10.01.
I have a whole bunch of gcc's available for 10.20, but I bet they will lead to trouble on 10.01. pa-risc support has improved a lot as of gcc-3.0.4

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

Re: Perl 5.8 on HPUX10.01 trouble

You're probably not going to believe this.
(I complied toke.c with +O0, it seemed to go OK. I'm not sure about the syntax of the lines

`sh cflags "optimize=....." perl.o` perl.c
CCCMD = cc -DPERL............

Does the first line set 'cflags' to those options? Then how does CCCMD get invoked?)

What I used for the compile was

`sh cflags "optimize=+O0" perl.o` perl.c
CCCMD = cc -DPERL............

from a batch file. toke.o is 192204 bytes, so maybe it's OK.

Anyway, I got to the 'make test' part. It ran OK, except for 2 warnings about common redeclarations - most likely not a big deal.

Then this:

"/usr/include/shadow.h" ... unexpected symbol: "extern"

Turns out that the system file shadow.h (it has a 1995 date) has an error: the line in question (line 40) ends with a comma, not a semicolon.

It's in an IFDEF block that asks is defined __STDC__ or __cplusplus.

It certainly isn't c++, so I don't know how the original installation went. I think I remember that the machine came with the OS preinstalled.

I'll go fix shadow.h and try again.
H.Merijn Brand (procura
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

cflags is a shell script that interprets CCCMD

What you just described is perfect. I'm looking forward to the full test results!

You ran the toke.c compilation by hand. Did you try my last change to hints/hpux.sh to accomplish the same?

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

Re: Perl 5.8 on HPUX10.01 trouble

I wanted to see if the compile would run, in a simple test case. I'll make the change to hpux.sh and start all over.

I think I may be the last HPUX10.01 installation in the world. (Outside of Sibera.) If I weren't so tied to Ingres I'd have changed long ago.
Michael D. Zorn
Regular Advisor

Re: Perl 5.8 on HPUX10.01 trouble

More strangeness. I changed the line in 'hpux.sh' 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"'

### 64 BITNESS
. . . . . . .

then ran 'make test'. Here's the output:

# make test
`sh cflags "optimize='+O2 +Onolimit'" toke.o` toke.c
CCCMD = cc -DPERL_CORE -c -Ae -D_HPUX_SOURCE -DARG_ZERO_IS_SCRIPT +O2 +Onolimit
cc: Perl_yylex(): error 6355: Bit vectors: Set out of memory. (6355)
*** Error exit code 1
---------------------

That's the only line in 'hpux.sh' where -DARG_ZERO_IS_SCRIPT occurs.
H.Merijn Brand (procura
Honored Contributor

Re: Perl 5.8 on HPUX10.01 trouble

Weirrd. Verrrry Weirrrd.

OK, for now, just do that one by hand. I'll investigate in to how that flag did not propagate, since it is reproducable on 10.20 and 11.00

Please continue after that point, and keep me informed.
Thank you very much for the feedback

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