Wind River Support Network

HomeDefectsLIN4-11916
Fixed

LIN4-11916 : "ixgbe" network driver fails to build in intel_xeon_5520_ioh BSP (WRLinux 4.2)

Created: Jul 27, 2011    Updated: May 18, 2015
Resolved Date: Aug 1, 2011
Found In Version: 4.2
Fix Version: 4.2
Severity: Severe
Applicable for: Wind River Linux 4
Component/s: Kernel

Description

The problem occurs in intel_zeon_5520_ioh BSP that is included with WRLinux 4.2. It concerns the device driver for Intel i82599 network controller (driver name "ixgbe"). 
This driver resides in drivers/net/ixgbe directory in Linux kernel's tree.

This problem occurs when I try to change the Linux kernel configuration settings to statically link the ixgbe driver into the kernel (rather than compile it as a loadable module, which is the default). I do so by creating the brand-new kernel-only build space by executing "configure --enable-board=intel_xeon_5520_ioh --enable-kernel=cgl", and
then run "make -C build linux.menuconfig" to manually change ixgbe driver
from <M> to <*> (i.e. statically link it into the kernel). The subsequent
"make -C build linux.rebuild" command fails to build the kernel, and
reports the following errors:

drivers/net/ixgbe/built-in.o: In function `_kc_ethtool_op_set_flags':
.../build/linux/drivers/net/ixgbe/kcompat.c:1093: multiple definition of `_kc_ethtool_op_set_flags'
.../build/linux/drivers/net/igb/kcompat.c:1059: first defined here
drivers/net/ixgbe/built-in.o: In function `_kc_netif_set_real_num_tx_queues':
.../build/linux/drivers/net/ixgbe/kcompat.c:1065: multiple definition of `_kc_netif_set_real_num_tx_queues'
drivers/net/igb/built-in.o:.../build/linux/drivers/net/igb/kcompat.c:1031: first defined here
.../build/linux/scripts/Makefile.build:298: *** [drivers/net/built-in.o] Error 1
.../build/linux/scripts/Makefile.build:366: *** [drivers/net] Error 2
.../build/linux/Makefile:896: *** [drivers] Error 2
Makefile:126: *** [sub-make] Error 2
.../wrlinux-4/layers/wrll-kernel/dist/linux/Makefile:572: *** [linux.compile] Error 2

The close look at the following files:

    /build/linux/drivers/net/igb/kcompat.c
    /build/linux/drivers/net/ixgbe/kcompat.c

reveals that they indeed include duplicate definitions of 
_kc_ethtool_op_set_flags and _kc_netif_set_real_num_tx_queues symbols.

Steps to Reproduce

See Symptom Details for instructions.

Other Downloads


Live chat
Online