LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

ipvs-0.2.6, stock 2.4.2 kernel. compile failure.

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: ipvs-0.2.6, stock 2.4.2 kernel. compile failure.
From: Kyrian <kyrian@xxxxxxx>
Date: Wed, 21 Mar 2001 14:11:34 +0000
All,

Sorry if I'm duplicating anything already said or otherwise being dumb,
but I'm trying to get the following errors when compiling the kernel
with the above combination.

I've looked at the archives, and I've seen is that "it may be
incompatible with the netfilter patches" or similar, but this is a stock
kernel, only with the above ipvs patch, and isn't the Netfilter element
of that necessary to use other types of failover/load balancing etc. so
won't removing it remove some of my options for HA configuration?

Also, having looked at the source, it seems like "__ip_vs_svc_lock" is
defined in net/ipv4/ipvs/ip_vs_ctl.c:

static rwlock_t __ip_vs_svc_lock = RW_LOCK_UNLOCKED;

But then not referenceable in net/network.o (which should include all of
that subtree, no?), so it looks to me like a makefile/dependencies
problem. I could very easily be wrong though.

Any help you can give would be appreciated.

I'm using this version, because with kernel 2.2.18 & 17 I'm also getting
compilation problems. I don't have details of those to hand, though.

I'd be happy even if this problem isn't quickly fixable, if someone
could tell me a known-good-compile kernel and set of patches.

Yours,

Kev.

Last part of compile:

make[2]: Entering directory `/usr/src/linux-2.4.2-0.2.6/arch/i386/lib'
make[2]: Nothing to be done for `all_targets'.
make[2]: Leaving directory `/usr/src/linux-2.4.2-0.2.6/arch/i386/lib'
make[1]: Leaving directory `/usr/src/linux-2.4.2-0.2.6/arch/i386/lib'
ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext
arch/i386/kernel
/head.o arch/i386/kernel/init_task.o init/main.o init/version.o \
        --start-group \
        arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o
mm/mm.o fs/f
s.o ipc/ipc.o \
        drivers/block/block.o drivers/char/char.o drivers/misc/misc.o
drivers/ne
t/net.o drivers/media/media.o  drivers/char/agp/agp.o
drivers/char/drm/drm.o dri
vers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/cdrom/driver.o
drivers/sound
/sounddrivers.o drivers/pci/driver.o drivers/pcmcia/pcmcia.o
drivers/net/pcmcia/
pcmcia_net.o drivers/pnp/pnp.o drivers/video/video.o
drivers/usb/usbdrv.o \
        net/network.o \
        /usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a
/usr/src/lin
ux/arch/i386/lib/lib.a \
        --end-group \
        -o vmlinux
net/network.o: In function `ip_vs_leave':
net/network.o(.text+0x551e5): undefined reference to `__ip_vs_svc_lock'
net/network.o(.text+0x5525d): undefined reference to `__ip_vs_svc_lock'
net/network.o: In function `ip_vs_out_icmp':
net/network.o(.text+0x554e8): undefined reference to `__ip_vs_svc_lock'
net/network.o(.text+0x55568): undefined reference to `__ip_vs_svc_lock'
net/network.o: In function `ip_vs_out':
net/network.o(.text+0x55b53): undefined reference to `__ip_vs_svc_lock'
net/network.o(.text+0x55bda): more undefined references to
`__ip_vs_svc_lock' fo
llow
make: *** [vmlinux] Error 1

Networking, Netfilter, and Virtual Server sections of my .config:

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK_DEV=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
# CONFIG_FILTER is not set
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK=y
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_FWMARK is not set
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_LARGE_TABLES=y
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_INET_ECN=y
CONFIG_SYN_COOKIES=y

#
#   IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_QUEUE=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_UNCLEAN=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_MIRROR=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_MARK=y
CONFIG_IP_NF_TARGET_LOG=y

#
#   IP: Virtual Server Configuration
#
CONFIG_IP_VS=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_FTP=y
CONFIG_IPV6=m
# CONFIG_IPV6_EUI64 is not set

--
Kev Green, aka Kyrian.   Email: kyrian@xxxxxxx   Web:
http://mud.ore.org/~kyrian/
"Someday you too will know my pain, and smile its blacktoothed grin,
  if the war inside my head, won't take a day off I'll be dead" --
Megadeth.


<Prev in Thread] Current Thread [Next in Thread>