Operating System - Linux
1820027 Members
3282 Online
109608 Solutions
New Discussion юеВ

Re: perl 64bit compile on Itanium

 
SOLVED
Go to solution
Nyck_1
Super Advisor

perl 64bit compile on Itanium

I'm having major issues trying to compile perl5.8.8 64Bit on one of my Itanium servers. The compiler that i'm using is the gcc4.1.2 one and I'm using the following syntax:-

sh Configure -de -Dprefix=/opt/perl588 -Dcc=gcc -Duse64bitall

It runs for about 1 min and crashes with the following error:-

/bin/sh: 9294 Killed
The program compiled OK, but exited with status 137.
(The supplied flags or libraries might be incorrect.)

Can someone point me in the right direction here?
20 REPLIES 20
H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

Do you have a very specific need to build it yourself?

Why not get my build?
http://mirrors.develooper.com/hpux/downloads.html#hpux1123

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

This is required for use with the following:-

DBI.pm
DBD::Oracle.pm
BerkeleyDB.pm
BerkeleyDB C

Originally I set my perl path to use /opt/perl_64 and then compiled the above. But we are having serious issues with the BerkeleyDB perl module, hence the starting from scratch.

Also it would be really nice to know how to compile perl in 64 bit!
H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

My depot already includes DBI-1.53, and is compiled with gcc-4.1.1, and has in-house been tested against Oracle-9.2/64

I still see no reason not to use my depot, but keep being interested in why your build wouldn't succeed.

What's the gcc version you use? On Itanium2, I am now on 4.1.2.

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

The main reason for building this from scratch is because we are doing this for a customer and need to show them how to do this.

I have tried this with gcc3.4.5 & gcc4.1.2 and for both versions its failing with this error message:-

/bin/sh: 23930 Killed
The program compiled OK, but exited with status 137.
(The supplied flags or libraries might be incorrect.)

You have a problem. Shall I abort Configure [y]
Ok. Stopping Configure.

I have also tried the ansic compiler and not had much luck with that either!
H.Merijn Brand (procura
Honored Contributor
Solution

Re: perl 64bit compile on Itanium

What compiler would you prefer?
I can send you my config.sh for that compiler, and you can check what you have done different.

Please also

# script /tmp/p588.log
# make distclean
# rm -rf UU Policy.sh config.sh
# ./Configure -Duse64bitall -de -Dprefix=/opt/perl588 -A prepend:libswanted='cl pthread '

# exit

and make /tmp/p588.log available to me though ftp or so.
read README.hpux for more info about that -A flag, and do not forget the trailing space!
If you do not include the -A stuff, Oracle won't work

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

I'm looking to use the gcc compiler, any particular version you would recommend?

I'm going home now and will start afresh with this tomorrow morning.

Cheers for all the help!
H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

4.1.2 works fine. if you have it, use it.

personally I prefer HP C-ANSI-C builds, but that makes adding XS later more difficult on sites that have no C-ANSI-C

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Dennis Handly
Acclaimed Contributor

Re: perl 64bit compile on Integrity

>H.Merijn: personally I prefer HP C-ANSI-C builds,

My hero!
Do you notice any big performance differences? Especially on IPF?

H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

To be honoust, I didn't really try that yet, but I can give you an estimate:

a perl smoke with cc takes 7.5 hour, and with a rude calc method from the logs, I get

cc: 0.0029682879 CPU-sec/test
gcc:0.0030228416 CPU-sec/test

so cc still is faster :)

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

I have tried with what you have suggested and its still crashing out with this wonderful error code137. The syntax I used is as follows:-

./Configure -Duse64bitall -de -Dprefix=/opt/perl588 -Dcc=gcc -A prepend:libswanted='cl pthread '

I have tried this with gcc3.4.5 & gcc4.1.2

If I delete the Policy & config file it just fails!
H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

Those two deletes are just that - if I can see the log - the state was reasonably sane to start with.

Both 3.4.5 and 4.1.2 should be ok.
Can you make the log available to me? I'd like to have a look.

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

We do not have an external ftp server at our end, is there a way i can ftp this to you?

if not i can cut and paste it into word and maybe email it?
H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

drop me a note at merijn at procura dot nl and I'll provide you with a write-only ftp on our side

Enjoy, Have FUN !H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

did my email get through to you?
H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

Yes, all clear. Your libdb.so is not what it should be or should have been.

Detailed info sent by mail

Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

the ./Configure works fine, but when I run make it crashes with the following:-

make
`sh cflags "optimize='-g -O'" miniperlmain.o` miniperlmain.c
CCCMD = gcc -DPERL_CORE -c -D_HPUX_SOURCE -mlp64 -DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O -Wall
In file included from perl.h:4485,
from miniperlmain.c:36:
/usr/include/sys/ipc.h:51: error: parse error before "cid_t"
/usr/include/sys/ipc.h:56: error: parse error before '}' token
In file included from perl.h:4486,
from miniperlmain.c:36:
/usr/include/sys/sem.h:91: error: field `sem_perm' has incomplete type
make: *** [miniperlmain.o] Error 1
H.Merijn Brand (procura
Honored Contributor

Re: perl 64bit compile on Itanium

That is a problem you get when you install a gcc from a source that didn't build gcc on *exactly* the same system.

I'm sure you won't get this when you build with C-ANSI-C or when you rebuild gcc from source using the gcc you have.

http://h21007.www2.hp.com/portal/site/dspp/menuitem.a71dd5247f6a9513ebc5545704b4e601/?javax.portlet.tpst=31583f33917665b2a95994108973a801_ws_MX&javax.portlet.prp_31583f33917665b2a95994108973a801_viewID=proxy_view_secondary&javax.portlet.prp_31583f33917665b2a95994108973a801_wcproxyurl=http%253A%252F%252Fh21007.www2.hp.com%252Fportal%252Fdownload%252Fmailinglist_archives%252Fcxx-dev%252Fcxx-dev.0502...

HTH, Enjoy, Have FUN! H.Merijn
Enjoy, Have FUN! H.Merijn
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

I will try it again with the ansic c compiler!

Thanks again for all your help on this wonderful issue:-)
Nyck_1
Super Advisor

Re: perl 64bit compile on Itanium

I have been able to compile perl588 in 64bit mode on one of our Itanium servers, then i did the DBI perl module ok. I was about to then do DBD::ORACLE.pm only to discover that oracle was not installed on this particular server. So i went back to the original server and removed that link, then i was able to run the ./Configure with no issues what so ever but when i ran make it crashed with the following:-

`sh cflags "optimize='+O1'" pp_sys.o` pp_sys.c
CCCMD = cc -DPERL_CORE -c -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings +DD64 -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 +O1
"/usr/include/rpc/rpcsec_gss.h", line 166: error #2070: incomplete type is not
allowed
rpc_gss_OID_desc mechanism;
^

1 error detected in the compilation of "pp_sys.c".
*** Error exit code 2

I have checked and both servers are running the same ansic compiler, any ideas?

Dennis Handly
Acclaimed Contributor

Re: perl 64bit compile on Integrity

/usr/include/rpc/rpcsec_gss.h, line 166: error #2070: incomplete type is not allowed
rpc_gss_OID_desc mechanism;

This is saying that rpc_gss_OID_desc has not been defined.

I see it defined in gssapi/gssapi.h as struct gss_OID_desc_struct, through macros and typedefs.

This isn't declared in gssapi.h if OM_STRING is defined. And in that case it says it should be defined in xom.h.

To trace the preprocessing you could try:
export CCOPTS="-H +legacy_cpp"

And try rebuilding. -H should dump the include hierarchy to stderr. +legacy_cpp should expand any macros on that line.

After this step, you may have to add "-E -.i" and look at pp_sys.i.