From Bugzilla Helper: User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.2.17-14 i486) Using kernel-sources-2.2.17-14.i386.rpm, compile fails in ip_masq.c -> ip_masq.o when "CONFIG_IP_MASQUERADE=y" and "# CONFIG_IP_MASQUERADE_MOD is not set" in .config. Reproducible: Didn't try Steps to Reproduce: 1. make mrproper 2. make menuconfig 2a. Networking options ---> 2b. [*] IP: masquerading 2c. [ ] IP: masquerading special modules support (NEW) 3. make dep 4. make bzImage Actual Results: ... lots of output ... make[3]: Entering directory `/usr/src/linux-2.2.17/net/ipv4' gcc -D__KERNEL__ -I/usr/src/linux-2.2.17/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -m486 -DCPU=486 -DEXPORT_SYMTAB -c ip_masq.c ip_masq.c:578: `ip_masq_hash' undeclared here (not in a function) ip_masq.c:578: initializer element for `__ksymtab_ip_masq_hash.value' is not constant ip_masq.c:579: `ip_masq_unhash' undeclared here (not in a function) ip_masq.c:579: initializer element for `__ksymtab_ip_masq_unhash.value' is not constant ip_masq.c:518: warning: `masq_port_lock' defined but not used make[3]: *** [ip_masq.o] Error 1 make[3]: Leaving directory `/usr/src/linux-2.2.17/net/ipv4' make[2]: *** [first_rule] Error 2 make[2]: Leaving directory `/usr/src/linux-2.2.17/net/ipv4' make[1]: *** [_subdir_ipv4] Error 2 make[1]: Leaving directory `/usr/src/linux-2.2.17/net' make: *** [_dir_net] Error 2 Expected Results: Successful compile This configuration did not have a problem using kernel-sources-2.2.16-3.i386.rpm. In 2.2.17-14, the following declarations are now in "linux/include/net/ip_masq_mod.h": extern int ip_masq_hash(struct ip_masq *); extern int ip_masq_unhash(struct ip_masq *); In both 2.2.17-14 and 2.2.16-3, "linux/net/ipv4/ip_masq.c" contains: #ifdef CONFIG_IP_MASQUERADE_MOD #include <net/ip_masq_mod.h> #endif But in 2.2.16-3, "ip_masq.c" contains definitions: static int ip_masq_hash(struct ip_masq *ms) static int ip_masq_unhash(struct ip_masq *ms) (not sure if prototypes were declared in some .h).
*** This bug has been marked as a duplicate of 21604 ***