Openbios 1.0.RC1 build problems ... solved !
Mathieu Deschamps
mdeschamps at mangrove-systems.com
Mon Apr 26 08:35:01 CEST 2004
ok I've found why it does this :
>
>
> make -f Makefile.24
> gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586 bios_core.c -o bios_core.o
> gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586 flashchips.c -o
flashchips.o
> gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586 pcisets.c -o pcisets.o
> pcisets.c:234: warning: `gporeg_save' defined but not used
> gcc -c -D__KERNEL__ -I/usr/src/linux/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586 filesystem.c -o
filesystem.o
> filesystem.c:292: `THIS_MODULE' undeclared here (not in a function)
> filesystem.c:292: initializer element is not constant
> filesystem.c:292: (near initialization for `bios_fops.owner')
> make: *** [filesystem.o] Error 1
>
>
It's because the $KERNEL is /usr/src/linux then gcc's -I is
$KERNEL/include. It lacks module.h, because on my distro (RH9) module.h
is in $KERNEL/include/linux/. It needs a Makefile.24 little update :)
error was mentioning THIS_MODULE,module.h is the file that's containing
#define THIS_MODULE (&__this_module)
At the end it can be insmod anyway because of unresolved syms, it
done for 2.6 kernel, well i knew what i was risking.
Where could i find the 02/06/10 or the 02/04/12 version of devbios still
based upon kernel 2.4 building ?
Le lun 26/04/2004 à 12:07, Stefan Reinauer a écrit :
> * Mathieu Deschamps <mdeschamps at mangrove-systems.com> [040423 18:07]:
>
> > But I still don't understand these part of your code:
> >
> > ifeq ($(KERNEL)/.config,$(wildcard $(KERNEL)/.config))
> > include $(KERNEL)/.config
> > endif
> > # see if we need module versions
> > ifdef CONFIG_MODVERSIONS
> > CFLAGS += -DMODVERSIONS
> > endif
>
> This is needed for those using module versioning.
>
> > In the 0.3.2 version in never hear about the need to
> > include the kernel .config.
>
> Yes. 0.3.2 is broken wrt module versioning
>
> > When i say to managed to make it works that true,
> > but it's tainted and this is an ugly "bricologe"
>
> taintet?
It's a module state, fo example when you force loading of a module
hasn't been compiled for the machine you are trying to insmoding.
It seems it's also some kind of internal authenficate signature.
>
> Stefan
>
>
>
More information about the coreboot
mailing list