Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^4: Net::Pcap installation help (and not with the library)

by taapm (Initiate)
on Apr 26, 2013 at 01:00 UTC ( #1030748=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Net::Pcap installation help (and not with the library)
in thread Net::Pcap installation help (and not with the library)

Thanks for the prompt reply. Here's what happens when I try to run the test script:

D:\strawberry\Net-Pcap-0.17>perl -Mblib test.pl Undefined subroutine &main::pcap_findalldevs called at test.pl line 3


Comment on Re^4: Net::Pcap installation help (and not with the library)
Download Code
Re^5: Net::Pcap installation help (and not with the library)
by VinsWorldcom (Priest) on Apr 26, 2013 at 12:38 UTC

    I don't know if it matters, but I have different versions:

    Win7 x64

    Strawberry Perl 5.16.1

    Net::Pcap = 0.16

    WinPcap = 4.1.2

    The patches mentioned were written against Net::Pcap 0.16, not sure how the update to 0.17 will effect them?

    Also, not sure how using WinPcap 4.1.3 with the headers / libraries (WpdPack) for 4.1.2 will effect compile and run?

    UPDATE: The patches definitely don't work by just running 'patch' on the Net::Pcap 0.17 version as the Makefile.PL has some additional lines throwing off the patch files. However, looking at the patches and manually adding them worked fine for me.

    I did get a compilation error at first about "undefined reference to `pcap_..." but that was resolved by simply recreating the x64 libraries according to step 4 of the process above.

    The test.pl file also didn't work - gave an "Undefined subroutine &main::pcap_findalldevs called at test.pl line 3". It seems the 0.17 version of Net::Pcap handles the ':functions' export tag differently. This is resolved with a new test.pl as follows:

    use Net::Pcap; @devs = Net::Pcap::pcap_findalldevs(\%devinfo, \$err); for my $dev (@devs) { print "$dev : $devinfo{$dev}\n" }
      Thanks VERY much, Vin, for your help! In addition to your modified test.pl, for the benefit of others here are the minor patches to apply to Net-Pcap-0.17 to get it to compile correctly. Strangely, I did not have to redo step 4 like you had to.

      Apply these patches with the same command line option '-p1' as in Vin's original post:

      patch -p1 < net-pcap-0.17-makefile.patch patch -p1 < net-pcap-0.17-stubs.patch
      Here is net-pcap-0.17-makefile.patch:
      --- a/Makefile.PL Wed Apr 24 21:16:02 2013 +++ b/Makefile.PL Fri Apr 26 23:00:40 2013 @@ -296,7 +296,7 @@ $has_Win32 = !$@; $is_Win32 = ($^O eq 'MSWin32'); if ($is_Win32) { - $DEVNULL = 'DEVNULL'; + $DEVNULL = 'NUL:'; } else { $DEVNULL = eval { File::Spec->devnull }; if ($@) { $DEVNULL = '/dev/null' }
      And net-pcap-0.17-stubs.patch:
      --- a/stubs.inc Sun Oct 15 15:00:58 2006 +++ b/stubs.inc Fri Apr 26 23:09:52 2013 @@ -516,10 +516,13 @@ #ifdef _MSC_VER #pragma message( "Warning: the function pcap_setsampling() is not ava +ilable" ) #endif + +#ifndef HAVE_REMOTE struct pcap_samp { int method; int value; }; +#endif struct pcap_samp *pcap_setsampling(pcap_t *p); struct pcap_samp *pcap_setsampling(pcap_t *p) {

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1030748]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2014-09-20 03:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (152 votes), past polls