On May 23, 2012 9:14 AM, "Michael Scherer" <[email protected]>
wrote:
>
> On Thu, 17 May 2012 22:59:41 +0200
> Alex Schuster <[email protected]> wrote:
>
> > Michael Scherer writes:
> >
> > > 1) make output:
> > >
> > >   CHK     include/linux/version.h
> > >   CHK     include/generated/utsrelease.h
> > >   CALL    scripts/checksyscalls.sh
> > >   CHK     include/generated/compile.h
> > >   LD      init/mounts.o
> > > ls -Al -m elf_x86_64 -r -o init/mounts.o init/do_mounts.o
> > > init/do_mounts_initrd.o init/mounts.o: No such file or directory
> > > make[1]: *** [init/mounts.o] Error 1
> > > make: *** [init] Error 2
> > >
> > > There is an LD, the ls line is part of the error message.
> >
> > But the options look really more like ld options to me. How this could
> > possibly happen, I don't know. Some overriding of $(LD) perhaps? Does
> > "env | egrep -i 'ls|ld'" show something weird? Does it also fail as a
> > non-root user, after you copied the stuff over to somewhere where this
> > user can write? Just grasping at straws here.
> >
> >
> > > But without doubt you are right that mounts.o is not built, for
> > > whatever reason.
> >
> > Because ld should build it from init/do_mounts.o, but ls is being
> > called instead?
> >
> > > The build command
> > >
> > > init/.do_mounts.o.cmd:cmd_init/do_mounts.o := gcc
> > > -Wp,-MD,init/.do_mounts.o.d -nostdinc
> > > -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/include
> > > -I/usr/src/linux-3.2.12-gentoo/arch/x86/include
> > > -Iarch/x86/include/generated -Iinclude
> > > -include /usr/src/linux-3.2.12-gentoo/include/linux/kconfig.h
> > > -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
> > > -fno-strict-aliasing -fno-common
> > > -Werror-implicit-function-declaration -Wno-format-security
> > > -fno-delete-null-pointer-checks -O2 -m64 -march=k8 -mno-red-zone
> > > -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args
> > > -fstack-protector -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1
> > > -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -pipe
> > > -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx
> > > -mno-sse2 -mno-3dnow -Wframe-larger-than=2048
> > > -fno-omit-frame-pointer -fno-optimize-sibling-calls
> > > -fno-inline-functions-called-once -Wdeclaration-after-statement
> > > -Wno-pointer-sign -fno-strict-overflow -fconserve-stack
> > > -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s"
> > > -D"KBUILD_BASENAME=KBUILD_STR(do_mounts)"
> > > -D"KBUILD_MODNAME=KBUILD_STR(mounts)" -c -o init/do_mounts.o
> > > init/do_mounts.c
> > >
> > > contains a directive to build mounts.o, see second last line, but
> > > it for some reason this is ignored.
> > > Maybe there is a flaw in that command, only I can't find it.
> >
> > Neither can I. Is this command executed at all? If you maybe replace
> > the 'gcc' by 'gccXXX', does this give an error? Or put an 'echo' in
> > front of the gcc'.
> > You can try 'make -d', this will give you LOTS of debug output, but I
> > don't think you will see the actual commands then.
> >
> >       Wonko
> >
>
> Now at last there is some kind of "progress". Last thing I tried was
> replacing my current .config with that of my previous kernel (3.2.1-r2)
> and at least the make ran all the way up to the point where it should
> link everything to build vmlinux, only now it tells me it couldn't
> find vmlinux.o.
>
> The last couple of lines from the make output:
>
>  CC      arch/x86/lib/cache-smp.o
>  CC      arch/x86/lib/msr.o
>  AS      arch/x86/lib/msr-reg.o
>  CC      arch/x86/lib/msr-reg-export.o
>  AS      arch/x86/lib/iomap_copy_64.o
>  LD      arch/x86/lib/built-in.o
> ls -Al -m elf_x86_64 -r -o arch/x86/lib/built-in.o
> arch/x86/lib/msr-smp.o arch/x86/lib/cache-smp.o arch/x86/lib/msr.o
> arch/x86/lib/msr-reg.o arch/x86/lib/msr-reg-export.o
> arch/x86/lib/iomap_copy_64.o
>  AS      arch/x86/lib/clear_page_64.o
>  AS      arch/x86/lib/cmpxchg16b_emu.o
>  AS      arch/x86/lib/copy_page_64.o
>  AS      arch/x86/lib/copy_user_64.o
>  AS      arch/x86/lib/copy_user_nocache_64.o
>  AS      arch/x86/lib/csum-copy_64.o
>  CC      arch/x86/lib/csum-partial_64.o
>  CC      arch/x86/lib/csum-wrappers_64.o
>  CC      arch/x86/lib/delay.o
>  AS      arch/x86/lib/getuser.o
>  GEN     arch/x86/lib/inat-tables.c
>  CC      arch/x86/lib/inat.o
>  CC      arch/x86/lib/insn.o
>  AS      arch/x86/lib/memcpy_64.o
>  AS      arch/x86/lib/memmove_64.o
>  AS      arch/x86/lib/memset_64.o
>  AS      arch/x86/lib/putuser.o
>  AS      arch/x86/lib/rwlock.o
>  AS      arch/x86/lib/rwsem.o
>  AS      arch/x86/lib/thunk_64.o
>  CC      arch/x86/lib/usercopy.o
>  CC      arch/x86/lib/usercopy_64.o
>  AR      arch/x86/lib/lib.a
>  LD      vmlinux.o
> ls -Al -m elf_x86_64 -r -o vmlinux.o arch/x86/kernel/head_64.o
> arch/x86/kernel/head64.o arch/x86/kernel/head.o
> arch/x86/kernel/init_task.o init/built-in.o --start-group
> usr/built-in.o arch/x86/built-in.o kernel/built-in.o mm/built-in.o
> fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o
> block/built-in.o lib/lib.a arch/x86/lib/lib.a lib/built-in.o
> arch/x86/lib/built-in.o drivers/built-in.o sound/built-in.o
> firmware/built-in.o arch/x86/pci/built-in.o arch/x86/power/built-in.o
> arch/x86/video/built-in.o net/built-in.o --end-group
>  MODPOST vmlinux.o
>  vmlinux.o: No such file or directory make[1]: ***
>  [vmlinux.o] Error 1 make: *** [vmlinux.o] Error 2
>
>
> Essentially the same error as previously with mounts.o, and after
> every LD comes an ls -Al ... line like above, which I never saw
> before in my make outputs. Don't know where that comes from.
>
> I'm now back where the troubles began, the vmlinux.o error was
> the first I encountered after my last successful build.
> Maybe a careful search of a diff of the .config files will
> give me some idea.
>
> By now you're probably somewhat tired of devoting your time
> to this problem, so thank you for all your efforts to help me.
> If I ever solve this, you'll hear from me (which doesn't mean
> the thread is closed. If someone is still curious... ;-) )
>
> Kind regards, Michael
>

If the problem is due to .config, run make oldconfig first.

Rgds,

Reply via email to