in reply to Perl 5.6.0 on HPUX/11 won't compile

Since make is coredumping, the quick & dirty suggestion is to try Gnu Make.

If that's not an option, I'd compare patch levels between the make that works and the one that doesn't. ( try "what /usr/bin/make" on the two machines).

  • Comment on Re: Perl 5.6.0 on HPUX/11 won't compile

Replies are listed 'Best First'.
Re: Re: Perl 5.6.0 on HPUX/11 won't compile
by baku (Scribe) on Feb 09, 2001 at 00:16 UTC

    :-/ I actually tried to use gcc, gnu make, et al., but I get the following insanity:

    I've tried to compile and run the following simple program: #include <stdio.h> int main() { printf("Ok\n"); exit(0); } I used the command: gcc -O -D_HPUX_SOURCE -Aa -L/lib/pa1.1 -DUINT32_MAX_BROKEN -fn +o-strict-a liasing -I/usr/local/include -o try -L/usr/local/lib try.c -lnsl -lnm +-lndbm -lm alloc -ldld -lm -lc -lndir -lcrypt -lsec ./try and I got the following output: *Initialization*:1: missing token-sequence in `#assert' I can't compile the test program. (The supplied flags or libraries might be incorrect.) You have a BIG problem. Shall I abort Configure [y] Ok. Stopping Configure.

    The make versions on the two machines appear identical, same for cc et al.; possible that more serious magic was required to compile on the other box, but no one seems to be able to find who did that build.

    Addition:

    GNU gdb does give a backtrace where the default debugger would not. tye was right (in CB): it's miniperl dying:

    (gdb) bt #0 0x2af1c in Perl_malloc () from /usr/perltest/build/perl-5.6.0/./mi +niperl #1 0x9848c in Perl_pregcomp () from /usr/perltest/build/perl-5.6.0/./ +miniperl #2 0x1aa38 in Perl_pmruntime () from /usr/perltest/build/perl-5.6.0/. +/miniperl #3 0x93c24 in ?? () from /usr/perltest/build/perl-5.6.0/./miniperl #4 0x2618c in ?? () from /usr/perltest/build/perl-5.6.0/./miniperl #5 0x255bc in perl_parse () from /usr/perltest/build/perl-5.6.0/./min +iperl #6 0x1492c in main () from /usr/perltest/build/perl-5.6.0/./miniperl

    So, I'll try building without perl's malloc and see if that helps.


    More amends...

    (gdb) bt #0 0xc0180598 in _sigfillset () from /usr/lib/libc.2 #1 0xc017e048 in _memset () from /usr/lib/libc.2 #2 0xc0183750 in malloc () from /usr/lib/libc.2 #3 0x46f80 in Perl_safesysmalloc () from /usr/perltest/build/perl-5.6.0/./miniperl #4 0x1ab74 in Perl_newSVOP () from /usr/perltest/build/perl-5.6.0/./m +iniperl #5 0x31814 in ?? () from /usr/perltest/build/perl-5.6.0/./miniperl #6 0x33000 in Perl_yylex () from /usr/perltest/build/perl-5.6.0/./min +iperl #7 0x908d4 in Perl_yyparse () from /usr/perltest/build/perl-5.6.0/./m +iniperl #8 0x260dc in ?? () from /usr/perltest/build/perl-5.6.0/./miniperl #9 0x25544 in perl_parse () from /usr/perltest/build/perl-5.6.0/./min +iperl #10 0x1490c in main () from /usr/perltest/build/perl-5.6.0/./miniperl

    Perl_malloc doesn't seem to be the problem, then.

      baku writes:
      gcc -O -D_HPUX_SOURCE -Aa
      ... the -Aa option, which the HP-UX cc switches on to turn on ANSI C, doesn't mean the same thing to gcc. From a glance of the man page for gcc, -A is a switch dealing with assertions. You may want to see if you can get rid of "-Aa" and retry compiling.

      --
      Me spell chucker work grate. Need grandma chicken.

        Woo-hoo!

        OK, I feel pretty stupid for not thinking of comparing the two manuals... (I did, however, scan the gcc manual in a moment of desparation) but that seems to have done the trick.

        A couple (lit. "2") failed tests, but I think that we're good to go. Thanks, yakko!!!