On Mon, 26 May 2003, Joseph Mack wrote:
> Markus Markert wrote:
> > so i want to compile the ipvs and ipvsadm and they bring me the following
> > errors:
> > [ipvs with make]
> > gcc -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DMODVERSIONS -DCONFIG_IP_VS_DEBUG
> > -g -O2 -Wall -Wstrict-prototypes -I/usr/src/linux/include -include
> > /usr/src/linux/include/linux/modversions.h -c -o ip_vs_conn.o ip_vs_conn.c
> > ip_vs_conn.c: In function `ip_vs_tunnel_xmit':
> > ip_vs_conn.c:939: too many arguments to function `ip_select_ident'
> > make: *** [ip_vs_conn.o] Error 1
> I haven't stopped getting errors since I went to the newer kernels and the
> newer gcc's. They've just changed the headers on this one.
> I removed the last argument and it compiled OK.
> I don't know if it's going to bite me later though.
> What version of gcc are you using for LVS?
I am using gcc version egcs-2.91.66 on Red Hat 6.2, and gcc version 2.96
on Red Hat 7.3 for most development.
However, the above problem is related to the versions of gcc. Markus
probably used a non-standard kernel source, which changes the function
of ip_select_ident. The solution is to adapt the ip_select_ident call in
the ip_vs_tunnel_xmit to the new prototype of ip_select_ident, or to get a
standard kernel and apply the IPVS patch on it.