Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 165590 - net-firewall/iptables-1.3.5-r4 does not compile with l7filter USE flag
Summary: net-firewall/iptables-1.3.5-r4 does not compile with l7filter USE flag
Status: RESOLVED DUPLICATE of bug 156723
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-06 10:47 UTC by Paul Hewlett
Modified: 2007-02-28 10:57 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Hewlett 2007-02-06 10:47:35 UTC
I have emerged l7-filter and on the advice of the displayed nores, I re-rmerge iptables with the USE flags 'l7filter' and 'extensions'. The compile fails with an error in the header file ipt_iprange.h about not knowing about the '__be32' type.
Adding the line

#include <linux/types.h>

to ipt_iprange.h fixed the problem.

I am unsure that this is the correct solution. iptables is version 1.3.5-r4

Reproducible: Always

Steps to Reproduce:
1.edit /etc/portage/package.use. add line 'net-firewall/iptables extensions l7filter
2.emerge iptables

3. get failure
4. Edit /usr/src/linux/include/linux/netfilter_ipv4/ipt_iprange.h
5. add line '#include <linux/types.h>
6. emerge iptables now executes successfully
Actual Results:  
see above

Expected Results:  
compiled without error

hollywood ~ # emerge --info
Portage 2.1.1-r2 (default-linux/x86/2006.0, gcc-4.1.1, glibc-2.4-r4, 2.6.19-ck2-r3 i686)
=================================================================
System uname: 2.6.19-ck2-r3 i686 Intel(R) Celeron(R) CPU 2.53GHz
Gentoo Base System version 1.12.6
Last Sync: Wed, 31 Jan 2007 21:50:01 +0000
ccache version 2.4 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.3.7, 2.0.31
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
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
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=pentium4 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib/fax /usr/share/X11/xkb /var/bind /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-Os -march=pentium4 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/src/asterisk"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsyncproxy/gentoo-portage"
USE="x86 X alsa alsa_cards_ali5451 alsa_cards_als4000 alsa_cards_atiixp alsa_cards_atiixp-modem alsa_cards_bt87x alsa_cards_ca0106 alsa_cards_cmipci alsa_cards_emu10k1x alsa_cards_ens1370 alsa_cards_ens1371 alsa_cards_es1938 alsa_cards_es1968 alsa_cards_fm801 alsa_cards_hda-intel alsa_cards_intel8x0 alsa_cards_intel8x0m alsa_cards_maestro3 alsa_cards_trident alsa_cards_usb-audio alsa_cards_via82xx alsa_cards_via82xx-modem alsa_cards_ymfpci alsa_pcm_plugins_adpcm alsa_pcm_plugins_alaw alsa_pcm_plugins_asym alsa_pcm_plugins_copy alsa_pcm_plugins_dmix alsa_pcm_plugins_dshare alsa_pcm_plugins_dsnoop alsa_pcm_plugins_empty alsa_pcm_plugins_extplug alsa_pcm_plugins_file alsa_pcm_plugins_hooks alsa_pcm_plugins_iec958 alsa_pcm_plugins_ioplug alsa_pcm_plugins_ladspa alsa_pcm_plugins_lfloat alsa_pcm_plugins_linear alsa_pcm_plugins_meter alsa_pcm_plugins_mulaw alsa_pcm_plugins_multi alsa_pcm_plugins_null alsa_pcm_plugins_plug alsa_pcm_plugins_rate alsa_pcm_plugins_route alsa_pcm_plugins_share alsa_pcm_plugins_shm alsa_pcm_plugins_softvol apm berkdb bitmap-fonts bluetooth cgi cli cracklib crypt cups dba dbm dbus dlloader dri dvd eds elibc_glibc emboss encode foomaticdb fortran fritzcapi_cards_e2220pc fritzcapi_cards_e5520pc fritzcapi_cards_fcclassic fritzcapi_cards_fcpci fritzcapi_cards_fcpnp fritzcapi_cards_fcusb fritzcapi_cards_fcusb2 fritzcapi_cards_fxusb fritzcapi_cards_fxusb_CZ gdbm gif gpm gstreamer gtk2 hal iconv imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kerberos kernel_linux lcd_devices_bayrad lcd_devices_cfontz lcd_devices_cfontz633 lcd_devices_glk lcd_devices_hd44780 lcd_devices_lb216 lcd_devices_lcdm001 lcd_devices_mtxorb lcd_devices_ncurses lcd_devices_text ldap ldapsam libg++ libwww mad mbrola midi mikmod misdn_cards_hfcmulti motif mp3 mpeg ncurses netboot nls nptl nptlonly ogg opengl oss pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session spell spl sqlite3 srvdir ssl tcpd truetype truetype-fonts type1-fonts udev userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo vorbis xml xorg xv zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-02-06 11:43:39 UTC
Why don't you just post the errors instead of describing them? 
Comment 2 Paul Hewlett 2007-02-06 13:09:42 UTC
(In reply to comment #1)
> Why don't you just post the errors instead of describing them? 
> 
Because I thought that the expanation was enough ....

Herewith the error:

ld -shared  -o extensions/libipt_icmp.so extensions/libipt_icmp_sh.o
i686-pc-linux-gnu-gcc -Os -march=pentium4 -pipe -fomit-frame-pointer -Wall -Wunused -I/usr/src/linux/include -Iinclude/ -DIPTABLES_VERSION=\"1.3.5\"  -fPIC -o extensions/libipt_iprange_sh.o -c extensions/libipt_iprange.c
In file included from extensions/libipt_iprange.c:10:
/usr/src/linux/include/linux/netfilter_ipv4/ipt_iprange.h:13: error: expected specifier-qualifier-list before '__be32'
extensions/libipt_iprange.c: In function 'parse_iprange':
extensions/libipt_iprange.c:43: error: 'struct ipt_iprange' has no member named 'min_ip'
extensions/libipt_iprange.c:50: error: 'struct ipt_iprange' has no member named 'max_ip'
extensions/libipt_iprange.c:52: error: 'struct ipt_iprange' has no member named 'max_ip'
extensions/libipt_iprange.c:52: error: 'struct ipt_iprange' has no member named 'min_ip'
extensions/libipt_iprange.c: In function 'print_iprange':
extensions/libipt_iprange.c:117: error: 'const struct ipt_iprange' has no member named 'min_ip'
extensions/libipt_iprange.c:118: error: 'const struct ipt_iprange' has no member named 'max_ip'
make: *** [extensions/libipt_iprange_sh.o] Error 1

!!! ERROR: net-firewall/iptables-1.3.5-r4 failed.
Call stack:
  ebuild.sh, line 1546:   Called dyn_compile
  ebuild.sh, line 937:   Called src_compile
  iptables-1.3.5-r4.ebuild, line 132:   Called die

!!! failure - with l7filter or imq patch added
!!! If you need support, post the topmost build error, and the call stack if relevant.

and here is the modified ipt_iprange.h that fixes the problem

#ifndef _IPT_IPRANGE_H
#define _IPT_IPRANGE_H

#include <linux/types.h>

#define IPRANGE_SRC             0x01    /* Match source IP address */
#define IPRANGE_DST             0x02    /* Match destination IP address */
#define IPRANGE_SRC_INV         0x10    /* Negate the condition */
#define IPRANGE_DST_INV         0x20    /* Negate the condition */

struct ipt_iprange {
        /* Inclusive: network order. */
        __be32 min_ip, max_ip;
};

struct ipt_iprange_info
{
        struct ipt_iprange src;
        struct ipt_iprange dst;

        /* Flags from above */
        u_int8_t flags;
};

#endif /* _IPT_IPRANGE_H */
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2007-02-28 10:57:52 UTC

*** This bug has been marked as a duplicate of bug 156723 ***