All,
I've spent several hours on this, but it is apparently more involved
than I can handle.
=
I have a perl app I want to send to factory, but it depends on perl(Net::Pcap).
Which means I need to push perl-Net-Pcap to factory first.
As it turns out perl(Net::Pcap) fails to build for i586 for both 12.1
and Factory. I'm looking for help (or a new volunteer maintainer) in
getting it to build.
Note the package builds fine for 64-bit, and it builds fine for older
versions of openSUSE. It's just newer 32-bit versions that fail.
For the original package see
https://build.opensuse.org/package/show?package=perl-Net-Pcap&project=devel%3Alanguages%3Aperl
I branched it to see if I could figure it out. In particular in my
local spec file I added a couple "ls" commands just before Makefile.PL
is called in the specfile.
And the results look right to me:
==============
+ ls -l /usr/lib/libpcap*
-rw-r--r-- 1 root root 350862 Dec 16 01:43 /usr/lib/libpcap.a
lrwxrwxrwx 1 root root 12 Dec 16 01:49 /usr/lib/libpcap.so -> libpcap.so.1
lrwxrwxrwx 1 root root 16 Dec 16 01:49 /usr/lib/libpcap.so.1 ->
libpcap.so.1.2.0
-rwxr-xr-x 1 root root 262144 Dec 16 01:43 /usr/lib/libpcap.so.1.2.0
+ ls -l /usr/include/pcap*
-rw-r--r-- 1 root root 2393 Dec 16 01:43 /usr/include/pcap-bpf.h
-rw-r--r-- 1 root root 2125 Dec 16 01:43 /usr/include/pcap-namedb.h
-rw-r--r-- 1 root root 2320 Dec 16 01:43 /usr/include/pcap.h
/usr/include/pcap:
total 88
-rw-r--r-- 1 root root 2016 Dec 16 01:43 bluetooth.h
-rw-r--r-- 1 root root 35591 Dec 16 01:43 bpf.h
-rw-r--r-- 1 root root 2272 Dec 16 01:43 ipnet.h
-rw-r--r-- 1 root root 3421 Dec 16 01:43 namedb.h
-rw-r--r-- 1 root root 16920 Dec 16 01:43 pcap.h
-rw-r--r-- 1 root root 5563 Dec 16 01:43 sll.h
-rw-r--r-- 1 root root 4659 Dec 16 01:43 usb.h
-rw-r--r-- 1 root root 2151 Dec 16 01:43 vlan.h
===============
But immediately following that I get:
===========
+ /usr/bin/perl Makefile.PL PREFIX=/usr
looking for -lpcap... - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
You appear to lack the pcap(3) library.
If it is installed in a non-standard location, please try setting the LIBS
and INC values on the command line.
Or get the sources and install the pcap library from http://www.tcpdump.org/
If you install the pcap library using a system package, make sure to also
install the corresponding -devel package, which contains the C headers needed
to compile this module.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
============================
Looking at Makefile.PL, the problem seems to be in:
================================================
sub have_library {
my ($lib, $func, $header) = (@_, 'blank', 'blank');
printf("checking for %s() in -l%s... ", $func, $lib) if $func ne 'blank';
printf("looking for -l%s... ", $lib) if $func eq 'blank';
$header = $lib if $header eq 'blank';
my $result;
# try to find a specific function in the library
if ($func ne 'blank') {
my $libs = $is_Win32 ? " $lib.lib " : "-l$lib";
if ($is_Win32) {
$result = try_link(<<"SRC",undef );
#ifdef _CYGWIN
#include