Portage 2.2_rc14 (default/linux/x86/2008.0, gcc-4.1.2-asneeded, glibc-2.8_p20080602-r0, 2.6.27-gentoo-r2 i686) ================================================================= System uname: Linux-2.6.27-gentoo-r2-i686-Quad-Core_AMD_Opteron-tm-_Processor_2350-with-glibc2.0 Timestamp of tree: Fri, 14 Nov 2008 00:37:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6-r1 dev-lang/python: 2.5.2-r8 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.3.0-r1 sys-apps/sandbox: 1.2.18.1-r3 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.19 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.27-r2 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb /var/qmail/alias /var/qmail/control /var/spool/torque" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage-distfiles" FEATURES="distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.uni-erlangen.de/pub/mirrors/gentoo" INSTALL_MASK=" /usr/share/doc /usr/share/man /usr/share/info" LDFLAGS="-Wl,-O1" MAKEOPTS="-j14" PKGDIR="/usr/portage-packages" PORTAGE_COMPRESS="" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl berkdb bzip2 cli cracklib crypt cups dri fortran gdbm gpm iconv ipv6 isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Created attachment 172055 [details] Build log
Confirmed. No idea how to fix.
The errors in pcap_ex.c are because the build system failed to define HAVE_PCAP_FILE. The libpcap maintainers do not provide a definition of the structure that backs pcap_t, probably to discourage people from accessing its members directly. If HAVE_PCAP_FILE were defined, pcap_ex.c would call pcap_file and not need the definition of pcap_t. Examination of setup.py reveals that this symbol is defined if the string 'pcap_file(' is found in a pcap header searched for in various places in the system. This seems incredibly fragile and vulnerable to both false positives and false negatives. If libpcap maintainers add whitespace, setup.py would incorrectly decide that pcap_file is missing. If a pcap header were installed in one of the search paths used by setup.py, but not the compiler, then setup.py would incorrectly decide that pcap_file was available. This probe should be replaced with a proper test the way autoconf probes for usability: write a test program, try to compile and link it, and decide based on the results. I have not examined the failures in pcap.c yet, since that is a generated file and thus quite ugly. Maintainers, if I write up the required patches to get setup.py to probe for the libpcap functions correctly, would you mind committing them to the Gentoo tree and/or pushing them upstream, as appropriate?
Created attachment 188063 [details, diff] Patch to correct include path detection mechanism in setup.py Just changes the order of include paths from ['include', 'include/pcap'] to ['include/pcap', 'include'], so include/pcap dir with more complete pcap.h will be used first, if present.
Created attachment 188065 [details] Fixed ebuild to utilize the patch
+ 18 Apr 2009; Patrick Lauer <patrick@gentoo.org> +files/include_path.patch, + +pypcap-1.1-r1.ebuild: + Small patch to fix compilation issues, thanks to Mike Kazantsev. Closes + #247145