-----Original Message----- From: Wireshark-dev [mailto:wireshark-dev-boun...@wireshark.org] On Behalf Of Guy Harris Sent: den 12 oktober 2017 10:39 To: Developer support list for Wireshark <wireshark-dev@wireshark.org> Subject: Re: [Wireshark-dev] Building Wireshark on SuSE 11.4 fails, configure does not find pcap functions.
On Oct 12, 2017, at 12:09 AM, Anders Broman <anders.bro...@ericsson.com> wrote: > -----Original Message----- > From: Wireshark-dev [mailto:wireshark-dev-boun...@wireshark.org] On Behalf Of > Guy Harris > Sent: den 11 oktober 2017 22:00 > To: Developer support list for Wireshark <wireshark-dev@wireshark.org> > Subject: Re: [Wireshark-dev] Building Wireshark on SuSE 11.4 fails, configure > does not find pcap functions. > > On Oct 11, 2017, at 4:24 AM, Anders Broman <anders.bro...@ericsson.com> wrote: > >> Looking in configure.log > >> What's the full config.log file? > > Included the log file. > >OK, so the configure script is not finding pcap_findalldevs(), and, as a >result, isn't bothering to look for pcap_datalink_name_to_val() and is just >assuming it's not present. > >From looking at my collection of CVS/git trees for various libpcap release >branches, pcap_datalink_name_to_val() first appeared in libpcap 0.8, and >pcap_findalldevs() first >appeared in libpcap 0.7, so, assuming a normal >libpcap (rather than a libpcap that somebody upstream decided to tweak), the >configure script is making a reasonable >assumption. > >The build log seems to suggest that pcap_datalink_name_to_val() is declared in >pcap.h - and the version of the libpcap-devel package is "0.9.8-50.10.1", so >*perhaps* it's >based on libpcap 0.9.8 - or perhaps something newer (Debian >tends, or at least has tended, to call their libpcap "0.8", although it's >currently based on a much more recent >libpcap; I guess that's just the shared >library version number, for binary compatibility). If it's based on 0.9.8, or >a later release, it *should* have pcap_findalldevs() *and* >>pcap_datalink_name_to_val(). > >The command used by the configure script to compile the >test-for-pcap_findalldevs() program is > > gcc -std=gnu99 -o conftest -I/usr/include/pcap -Wall > -Wextra -Wendif-labels -Wpointer-arith -Wformat-security -fwrapv > -fno-strict-overflow -fno-delete-null-pointer-checks -Wvla -Waddress > -Wattributes -Wdiv-by-zero -Wignored-qualifiers -Wpragmas > -Wno-overlength-strings -Wno-long-long -Wc++-compat -Wshadow > -Wno-pointer-sign -Wold-style-definition -Wstrict-prototypes > -Werror=implicit -fvisibility=hidden -g -O2 -D_FORTIFY_SOURCE=2 > -Wl,--as-needed conftest.c -lm > >Notably absent from that command is the flag "-lpcap"; the absence of that >flag might explain why it got the error > Comparing with configure.log of Ubuntu 14.04 building the same version -lpcap is set. configure:50315: checking whether pcap_findalldevs is present and usable configure:50336: gcc -std=gnu99 -o conftest -Wall -Wextra -Wendif-labels -Wpointer-arith -Wformat-security -fwrapv -fno-strict-overflow -fno-delete-null-pointer-checks -Wvla -Waddress -Wattributes -Wdiv-by-zero -Wignored-qualifiers -Wpragmas -Wno-overlength-strings -Wno-long-long -Wc++-compat -Wshadow -Wno-pointer-sign -Wold-style-definition -Wstrict-prototypes -Wlogical-op -Wjump-misses-init -Werror=implicit -fexcess-precision=fast -fvisibility=hidden -g -O2 -D_FORTIFY_SOURCE=2 -Wl,--as-needed conftest.c -L/usr/lib/x86_64-linux-gnu -lpcap -lm >&5 conftest.c:52:11: warning: function declaration isn't a prototype [-Wstrict-prototypes] int main() undefined reference to `pcap_findalldevs' I'm not sure why. On the failing system there is an old version of autoconf and friends: ericsson@BuildWireShark3:~/ewireshark/trunk> autoconf --version autoconf (GNU Autoconf) 2.64 Copyright (C) 2009 Free Software Foundation, Inc. >If something's stored in the garage, you won't find it if you don't look in >the garage.... > >In fact, the only place where it *does* appear to link with libpcap is the >test for pcap_open_live(). > >A quick test of the configure script from a reasonably recent pull of the >master branch shows it linking with -lpcap in all the tests for various pcap >functions, so I'm not sure >why it wouldn't be doing so with your configure >script. > >Is this a built from a git checkout or from a release tarball? If it's from a >git checkout, what happens if you do a "make maintainer-clean", a >"./autogen.sh", and then a >"./configure"? It's from an svn clone of the old svn repo kept up to date with the latest git version. I did check a fresh svn checkout. I could try to build the standard Wireshark From trunk. Regards Anders ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe