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 <windows.h> #endif #include <${header}.h> blank() { return 0; } int t() { ${func}(); return 0; } SRC unless ($result) { $result = try_link(<<"SRC", undef); #ifdef _CYGWIN #include <windows.h> #endif #include <${header}.h> blank() { return 0; } int t() { void ((*p)()); p = (void ((*)()))${func}; return 0; } SRC } } else { $result = try_link(<<"SRC", undef); #include <${header}.h> blank() { return 0; } int t() { ${func}(); return 0; } SRC } # no function was specified, so just try to load or link against the library } else { if($has_Win32) { my $driver_ok = Win32::LoadLibrary("${lib}.dll"); $result = 1 and Win32::FreeLibrary($driver_ok) if $driver_ok; } else { $result = try_link(<<"SRC", undef); #ifdef _CYGWIN #include <windows.h> #endif #include <${header}.h> blank() { return 0; } SRC } } unless ($result) { print "no\n"; return 0; } if ($func ne "main") { $options{DEFINE} .= uc(" -Dhave_$func"); } print "yes\n"; return 1; } ======================================== which is called via: ==== warn <<"REASON" and exit unless have_library('pcap'); ==== Thinking the bug may actually be in the libpcap package, I also branched it to the same project and I've updated that to version v1.2.0. But it has the same basic behavior when I build against v1.2.0 of libpcap. Thanks Greg -- To unsubscribe, e-mail: opensuse-programming+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-programming+owner@opensuse.org