confirmed: kernel build for 2.6.8-rc3 is broken for at least i386
Sam,
thanks for your qualified hints.
I tried as you did suggest it to me and then it works in the subdir. Then i retried with "make bzImage" and came to that point in compilation for the origin of the failure. (see appended log, "noise" on language macros an similar stripped...)
As you, and possibly others can see,
the compilation happens from the arch/i386/kernel/timers subdir, where we got lead to by th arch/i386/kernel subdir directly and in this case the needed settings seem to lack despite they were present in a former stage of the compilation.
Having a qualified fix done by a skilled person for that bad behaviour in any future standard kernel would be nice thing. Thank you so far.
-Alex.
(please CC me in replys, i am not subscribed to this list)
make -f scripts/Makefile.build obj=scripts/basic
make -f scripts/Makefile.build obj=scripts
make -f scripts/Makefile.build obj=scripts/mod
make -f scripts/Makefile.build obj=arch/i386/kernel arch/i386/kernel/asm-offsets
.s
arch/i386/kernel/Makefile:70: AFLAGS-lds=-P -C -Ui386
arch/i386/kernel/Makefile:71: aflags=
make -f scripts/Makefile.build obj=init make -f scripts/Makefile.build obj=usr
make -f scripts/Makefile.build obj=arch/i386/kernel
arch/i386/kernel/Makefile:70: AFLAGS-lds=
arch/i386/kernel/Makefile:71: aflags=
make -f scripts/Makefile.build obj=arch/i386/kernel/acpi
make -f scripts/Makefile.build obj=arch/i386/kernel/cpu
make -f scripts/Makefile.build obj=arch/i386/kernel/cpu/mcheck
make -f scripts/Makefile.build obj=arch/i386/kernel/cpu/mtrr
make -f scripts/Makefile.build obj=arch/i386/kernel/timers
gcc -E -Wp,-MD,arch/i386/kernel/.vmlinux.lds.s.d -nostdinc -iwithprefix
includ
e -D__KERNEL__ -Iinclude -D__ASSEMBLY__ -Iinclude/asm-i386/mach-default -tradit
ional -o arch/i386/kernel/vmlinux.lds.s arch/i386/kernel/vmlinux.lds.S
[...]
until it fails for the linking when using the generated lds.s file.
Signature · 2 lines
NEU: WLAN-Router für 0,- EUR* - auch für DSL-Wechsler! GMX DSL = supergünstig & kabellos http://www.gmx.net/de/go/dsl
Quoted 6 lines · Alexander Stohr
As you, and possibly others can see,
the compilation happens from thearch/i386/kernel/timerssubdir, where we got lead to by tharch/i386/kernelsubdir directly and in this case the needed settings seem to lack despite they were present in a former stage of the compilation.
What happens is that the value assigned to AFLAGS_vmlinux.lds.o is lost between the first and the second invocation of make in arch/i386/kernel
The only difference is the setting of LANG etc. - which you deleted from the log.
Pleae try to delete the following lines from the top-level Makefile and try again:
line 622-626:
$(Q)if [ ! -z $$LC_ALL ]; then \ export LANG=$$LC_ALL; \ export LC_ALL= ; \ fi; \ export LC_COLLATE=C; export LC_CTYPE=C; \
If this cures the problem then please provide me with you LANG settings. Both LANG and LC_* variables.
If it still fails please provide me with the _full_ unedited log up until the point where it fails.
Since I have to reports on this issue I really would like to have it nailed before 2.6.8 is out.
The other report is from: Pawe? Sikora <[email protected]>
Sam
Quoted 16 lines · Sam Ravnborg
Quoted 5 lines · Alexander Stohr
As you, and possibly others can see,
the compilation happens from thearch/i386/kernel/timerssubdir, where we got lead to by tharch/i386/kernelsubdir directly and in this case the needed settings seem to lack despite they were present in a former stage of the compilation.What happens is that the value assigned to AFLAGS_vmlinux.lds.o is lost between the first and the second invocation of make in
arch/i386/kernelThe only difference is the setting of LANG etc. - which you deleted from the log.
Pleae try to delete the following lines from the top-level
Makefileand try again:
Quoted 6 lines
line 622-626:
$(Q)if [ ! -z $$LC_ALL ]; then \ export LANG=$$LC_ALL; \ export LC_ALL= ; \ fi; \ export LC_COLLATE=C; export LC_CTYPE=C; \
- $(Q)if [ ! -z $$LC_ALL ]; then \
- export LANG=$$LC_ALL; \
- export LC_ALL= ; \
- fi; \
- export LC_COLLATE=C; export LC_CTYPE=C; \
+ $(Q) \
^^^ works for me.
Quoted 2 lines
If this cures the problem then please provide me with you LANG settings. Both LANG and LC_* variables.
only LANG=pl_PL
Signature · 3 lines
/* Copyright (C) 2003, SCO, Inc. This is valuable Intellectual Property. */
#define say(x) lie(x)Quoted 8 lines · Pawe? Sikora
(quoted diff) +1
-5- $(Q)if [ ! -z $$LC_ALL ]; then \ - export LANG=$$LC_ALL; \ - export LC_ALL= ; \ - fi; \ - export LC_COLLATE=C; export LC_CTYPE=C; \ + $(Q) \^^^ works for me.
Thanks!
I need to track this a bit more.
Could you please provide me with information of what you are running.
make version (make --version)
shell & version of shell
distribution
Could you also try if the attached two Makefiles exhibit the same problem. Just copy them to an empty directory and execute make.
A good run looks like:
Makefile2:1: lds=-P
Hi
A bad run does not have any -P after the '='.
Needless to say my make does not exhibit this issue.
Sam
Q=@
all:
$(Q)if [ ! -z $$LC_ALL ]; then \ export LANG=$$LC_ALL; \ export LC_ALL= ; \ fi; \ export LC_COLLATE=C; export LC_CTYPE=C; \ $(MAKE) -f Makefile2 obj=xxx
export CFLAGS_vmlinux.lds.o := -P
$(warning lds=$(CFLAGS_vmlinux.lds.o))
all:
@echo Hi
Quoted 12 lines · Sam Ravnborg
Quoted 8 lines · Pawe? Sikora
(quoted diff) +1
-5- $(Q)if [ ! -z $$LC_ALL ]; then \ - export LANG=$$LC_ALL; \ - export LC_ALL= ; \ - fi; \ - export LC_COLLATE=C; export LC_CTYPE=C; \ + $(Q) \^^^ works for me.
Thanks!
Quoted 7 lines
I need to track this a bit more.
Could you please provide me with information of what you are running.make version (make --version)
shell & version of shell
distribution
make-3.80-5
bash-2.05b-14
PLD(nptl/cvs)
Quoted 6 lines
Could you also try if the attached two Makefiles exhibit the same problem. Just copy them to an empty directory and execute make.
A good run looks like:
Makefile2:1: lds=-P
Hi
# LANG=pl_PL make
make[1]: Wej?cie do katalogu `/home/users/pluto/rpm/BUILD'
^
^ error. `ś' is correct char.
Makefile2:1: lds=
Hi
make[1]: Opuszczenie katalogu `/home/users/pluto/rpm/BUILD'
# LANG=C make
make[1]: Entering directory `/home/users/pluto/rpm/BUILD' Makefile2:1: lds=
Hi
make[1]: Leaving directory `/home/users/pluto/rpm/BUILD'
with a minor fix...
- export LC_COLLATE=C; export LC_CTYPE=C; \ - $(MAKE) -f Makefile2 obj=xxx + export LC_COLLATE=C; export LC_CTYPE=C; + $(Q)$(MAKE) -f Makefile2 obj=xxx
works fine...
# LANG=pl_PL make
make[1]: Wejście do katalogu `/home/users/pluto/rpm/BUILD' Makefile2:1: lds=-P
Hi
make[1]: Opuszczenie katalogu `/home/users/pluto/rpm/BUILD'
Signature · 3 lines
/* Copyright (C) 2003, SCO, Inc. This is valuable Intellectual Property. */
#define say(x) lie(x)