Hi there,
doing this for the next 5 minutes will make me think I am silly because I
cannot compile (neither static or module) the $subject.
Can anyone assist me in compiling this successfully with a 2.2.22 kernel tree?
Do not ask me why I don't use 2.4 for that (I have to use 2.2 for that reason)
and I also have to use a static build (otherwise I can just use 'make' in the
sources from Intel.) The module build below was just a test.
I've created a Makefile in drivers/net/e100/ looking like this:
---------------------------------------------------------------
# File: drivers/net/e100/Makefile
#
# Makefile for the Intel e100 device driver.
#
ifeq ($(CONFIG_INTEL_E100),y)
O_TARGET := e100.o
O_OBJS = e100_main.o e100_eeprom.o e100_config.o e100_phy.o e100_kcompat.o
e100_test.o
else
ifeq ($(CONFIG_INTEL_E100),m)
MOD_LIST_NAME := INTEL_E100_MODULES
M_OBJS := e100.o
O_TARGET := e100.o
O_OBJS = e100_main.o e100_eeprom.o e100_config.o e100_phy.o e100_kcompat.o
e100_test.o
endif
endif
include $(TOPDIR)/Rules.make
clean:
rm -f core *.o *.a *.s
the part from drivers/net/Makefile is this:
-------------------------------------------
ALL_SUB_DIRS := $(SUB_DIRS) ....$bla... e100
ifeq ($(CONFIG_INTEL_E100),y)
SUB_DIRS += e100
MOD_IN_SUB_DIRS += e100
L_OBJS += e100/e100.o
else
ifeq ($(CONFIG_INTEL_E100),m)
MOD_IN_SUB_DIRS += e100
endif
endif
Static compile succeed but the linker does not link it to the kernel image.
Module compile looks like this:
-------------------------------
make[3]: Entering directory `/usr/src/linux-2.2.22/drivers/net/e100'
make[3]: Circular ans_driver.h <- e100.h dependency dropped.
rm -f e100.o
ld -m elf_i386 -r -o e100.o e100_main.o e100_eeprom.o e100_config.o
e100_phy.o e100_kcompat.o e100_test.o
e100_eeprom.o(.modinfo+0x0): multiple definition of `__module_kernel_version'
e100_main.o(.modinfo+0x0): first defined here
e100_config.o(.modinfo+0x0): multiple definition of `__module_kernel_version'
e100_main.o(.modinfo+0x0): first defined here
e100_phy.o(.modinfo+0x0): multiple definition of `__module_kernel_version'
e100_main.o(.modinfo+0x0): first defined here
e100_test.o(.modinfo+0x0): multiple definition of `__module_kernel_version'
e100_main.o(.modinfo+0x0): first defined here
make[3]: *** [e100.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.2.22/drivers/net/e100'
make[2]: *** [_modinsubdir_e100] Error 2
make[2]: Leaving directory `/usr/src/linux-2.2.22/drivers/net'
make[1]: *** [_modsubdir_net] Error 2
make[1]: Leaving directory `/usr/src/linux-2.2.22/drivers'
make: *** [_mod_drivers] Error 2
I really appreciate any kind of help!!
Thnx alot!
ciao, Marc
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Nov 23 2002 - 22:00:25 EST