|
From: Peter T. <htm...@gm...> - 2008-05-02 17:49:42
|
Not sure why, but your current instructions works!!!
On 5/2/08, Jeff Dike <jd...@ad...> wrote:
> On Fri, May 02, 2008 at 12:18:34AM +0800, Peter Teoh wrote:
> > In case if anyone is wondering what this line 107 means in the arch/um/Makefile:
> >
> > 104 ifneq ($(KBUILD_SRC),)
> > 105 $(shell mkdir -p $(ARCH_DIR) && ln -fsn
> > $(srctree)/$(ARCH_DIR)/Kconfig.$(SUBARCH) $(ARCH_DIR)/Kconfig.arch)
> > 106 else
> > 107 $(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch)
> > 108 endif
> >
> > Different version of Linux kernel tried, will always end up at the
> > same line above, btw, although the line number can be different.
>
>
> Color me clueless as to what's going on. However, since the offending
> line is conditional on !KBUILD_SRC, you can try
> mkdir obj ; make ARCH=um O=obj
> and see if the behavior changes. Maybe it'll produce a different and
> more informative error.
>
> I suspect you'll get exactly the same error because make is failing to
> parse the Makefile and hasn't got around to actually interpretting
> it. If so, then just delete that line and see what happens.
>
>
> Jeff
>
> --
> Work email - jdike at linux dot intel dot com
>
This is what I have done, not sure if anything wrong:
a. mkdir obj;make oldconfig ARCH=um O=obj
This created one file in obj, but after that created infinite number
of make -C processes running in the background.....I stopped that.
ps -ef and the following repeated MANY MANY TIMES:
root 32742 32658 0 01:13 pts/2 00:00:00 make -C
/mnt/hd0/download/linux-2.6-latest KBUILD_SRC= oldconfig
root 32745 32742 0 01:13 pts/2 00:00:00 make -C
/mnt/hd0/download/linux-2.6-latest/obj
/mnt/hd0/download/linux-2.6-latest/obj KBUILD_SRC=/mnt/hd0/dow
So, not okay.
b. mkdir obj; make ARCH=um O=obj
As per instructed.....it works except it complained no config file (in
obj directory), and suggested to do a mrproper for the current parent
directory. So I copied the .config to obj directory, make mrproper
in parent directory, and then cd to obj and make oldconfig there, and
then "make":
cp .config obj
make mrproper
cd obj
make oldconfig ARCH=um
make ARCH=um
Now it gives error:
HOSTCC scripts/kallsyms
CC init/main.o
In file included from
/mnt/hd0/download/linux-2.6-latest/arch/um/include/um_uaccess.h:10,
from include2/asm/uaccess.h:41,
from include2/asm/thread_info.h:13,
from
/mnt/hd0/download/linux-2.6-latest/include/linux/thread_info.h:47,
from
/mnt/hd0/download/linux-2.6-latest/include/linux/preempt.h:9,
from
/mnt/hd0/download/linux-2.6-latest/include/linux/spinlock.h:49,
from
/mnt/hd0/download/linux-2.6-latest/include/linux/seqlock.h:29,
from /mnt/hd0/download/linux-2.6-latest/include/linux/time.h:8,
from
/mnt/hd0/download/linux-2.6-latest/include/linux/stat.h:60,
from
/mnt/hd0/download/linux-2.6-latest/include/linux/module.h:10,
from /mnt/hd0/download/linux-2.6-latest/init/main.c:13:
include2/asm/fixmap.h:38: error: 'NR_CPUS' undeclared here (not in a function)
In file included from /mnt/hd0/download/linux-2.6-latest/include/linux/rmap.h:9,
from /mnt/hd0/download/linux-2.6-latest/init/main.c:49:
/mnt/hd0/download/linux-2.6-latest/include/linux/mm.h: In function
'is_vmalloc_addr':
/mnt/hd0/download/linux-2.6-latest/include/linux/mm.h:266: error:
'PKMAP_BASE' undeclared (first use in this function)
/mnt/hd0/download/linux-2.6-latest/include/linux/mm.h:266: error:
(Each undeclared identifier is reported only once
/mnt/hd0/download/linux-2.6-latest/include/linux/mm.h:266: error: for
each function it appears in.)
/mnt/hd0/download/linux-2.6-latest/include/linux/mm.h:270: warning:
control reaches end of non-void function
make[3]: *** [init/main.o] Error 1
make[2]: *** [init] Error 2
make[1]: *** [sub-make] Error 2
make: *** [all] Error 2
Just to ask this:
Noticed that I cd to obj, and everything from that subdirectory is
appended with ARCH=um, correct?
Taking away the ARCH=um, it naturally compiled to the end without
error, but it is not right, as there is no UM coming out from the
built - correct?
--
Regards,
Peter Teoh
|