Hello, I've posted once before on perlmonks and my experience as been a wonderful one. Now I've got a new problem that google.com can not resolve for me. This is ( in my mind ) a very difficult problem so take this as a challenge if you're bored.


Ok, my problem is I'm compiling the Socket6 module on HPUX 11.11 to enable support for my Net::SNMP module to communicate via SNMPv1 using IPv6 addresses / protocol.


1) I've tested my build box and made sure that it does indeed have an IPv6 interface configured and working.


2) I've PING'd from my HPUX 11.11 build box to another IPv6 machine on my subnet and it responded which helps prove that IPv6 on my system is possible.


3) I've searched the /usr/local/sys/ directory and found that socket.h and netinet/in.h also includes the AF_INET6 definition.


My compile of the Socket6 modules works like a charm but when I run "make test" I see the error that "Your vendor has not defined Socket macro AF_INET6". I was first getting an unresolved symbol resolution on boot_socket6 but that went away once I moved to a machine which actually had an IPv6 interface installed and configured.


Here is the output from my building of the Socket6 module:

[root@~ Socket6-0.20]# /opt/eHealth/web/aview/perl/bin/perl Makefile.P +L checking for gcc... no checking for cc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... no checking whether cc accepts -g... yes checking for cc option to accept ANSI C... none needed Unknown user: rdk. path: Undefined variable. checking whether your Perl5 have PL_sv_undef... no checking how to run the C preprocessor... cc -E checking for egrep... grep -E checking for getaddrinfo... yes checking for getnameinfo... yes checking for gethostbyname2... no checking for gethostbyname2 in -lsocket... no checking whether your system has IPv6 directory... no checking for getipnodebyname... yes checking for getipnodebyaddr... yes checking for inet_pton... yes checking for inet_ntop... yes checking whether you have sa_len in struct sockaddr... no checking whether you have sin6_scope_id in struct sockaddr_in6... yes checking for socklen_t... yes configure: creating ./config.status config.status: creating config.pl config.status: creating gailookup.pl config.status: creating config.h Checking if your kit is complete... Looks good Writing Makefile for Socket6 [root@~ Socket6-0.20]# make cp Socket6.pm blib/lib/Socket6.pm /opt/eHealth/web/aview/perl/bin/perl /opt/eHealth/web/aview/pe +rl/lib/ExtUtils/xsubpp -noprototypes -typemap /opt/eHealth/web/aview/ +perl/lib/ExtUtils/typemap Socket6.xs > Socket6.xsc && mv Socket6.xsc + Socket6.c cc -c +z -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -D_LARGE +FILE_SOURCE -D_FILE_OFFSET_BITS=64 +O2 +Onolimit -DVERSION=\"0.20\ +" -DXS_VERSION=\"0.20\" +z "-I/opt/eHealth/web/aview/perl/lib/PA-RIS +C2.0/CORE" -DPERL_POLLUTE Socket6.c Running Mkbootstrap for Socket6 () chmod 644 Socket6.bs rm -f blib/arch/auto/Socket6/Socket6.sl LD_RUN_PATH="" /usr/bin/ld -b +vnocompatwarnings Socket6.o - +o blib/arch/auto/Socket6/Socket6.sl chmod 755 blib/arch/auto/Socket6/Socket6.sl cp Socket6.bs blib/arch/auto/Socket6/Socket6.bs chmod 644 blib/arch/auto/Socket6/Socket6.bs [root@~ Socket6-0.20]# make test rm -f blib/arch/auto/Socket6/Socket6.sl LD_RUN_PATH="" /usr/bin/ld -b +vnocompatwarnings Socket6.o - +o blib/arch/auto/Socket6/Socket6.sl chmod 755 blib/arch/auto/Socket6/Socket6.sl cp Socket6.bs blib/arch/auto/Socket6/Socket6.bs chmod 644 blib/arch/auto/Socket6/Socket6.bs PERL_DL_NONLAZY=1 /opt/eHealth/web/aview/perl/bin/perl "-MExtU +tils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/ +*.t t/use....Your vendor has not defined Socket macro AF_INET6, used at /o +pt/Socket6-0.20/blib/lib/Socket6.pm line 270 Compilation failed in require at t/use.t line 37. BEGIN failed--compilation aborted at t/use.t line 37. t/use....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-3 Failed 3/3 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ---------------------------------------------------------------------- +------------------------------ t/use.t 255 65280 3 6 200.00% 1-3 Failed 1/1 test scripts, 0.00% okay. 3/3 subtests failed, 0.00% okay. *** Error exit code 2 Stop.
So now I'm pulling my hair out. I need this to work. I can't find any real evidence that IPv6 and perl is broken on HPUX but maybe I'm not looking in the right place. Any help you Masters of Perl have is much appreciated. I'm on the 6th floor of my office and there is a large window close by looking more and more inviting every passing minute. Thanks! Andy

In reply to HP-UX 11.11 Your vendor has not defined Socket macro AF_INET6 by somuchh8

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.