Re: 2.6.18-rc3-mm1: O= builds broken

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Aug 06, 2006 at 10:23:21AM +0200, Adrian Bunk wrote:
> <--  snip  -->
> 
> $ make O=/home/bunk/linux/kernel-2.6/out/full/ oldconfig
>   HOSTCC  scripts/basic/fixdep
>   HOSTCC  scripts/basic/docproc
>   GEN     /home/bunk/linux/kernel-2.6/out/full/Makefile
>   HOSTCC  scripts/kconfig/conf.o
>   HOSTCC  scripts/kconfig/kxgettext.o
>   HOSTCC  scripts/kconfig/lxdialog/checklist.o
> /home/bunk/linux/kernel-2.6/linux-2.6.18-rc3-mm1/scripts/kconfig/lxdialog/checklist.c:325: 
> fatal error: opening dependency file 
> scripts/kconfig/lxdialog/.checklist.o.d: No such file or directory
> compilation terminated.
> make[2]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
> make[1]: *** [oldconfig] Error 2
> make: *** [oldconfig] Error 2
> $ 
>
If the lxdialog directory is missing then kbuild barfs out.
Fixed by followign patch that is already pushed out to my kbuild.git
tree. Thanks for the reports (all senders added to to:).

	Sam

commit a886c8972f22033e720405ce4c4fed941b5eb406
Author: Sam Ravnborg <[email protected]>
Date:   Mon Aug 7 21:55:33 2006 +0200

    kbuild: create output directory for hostprogs with O=.. build
    
    hostprogs-y only supported creating output directory for the final
    program. Extend this to also cover the situation where a .o
    file (used when host program is made from compositie objects) is
    locate in another directory.
    First user of this is the built-in lxdialog that.
    
    Signed-off-by: Sam Ravnborg <[email protected]>

diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 18ecd4d..aa208e8 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -32,11 +32,6 @@ # Note: Shared libraries consisting of C
 
 __hostprogs := $(sort $(hostprogs-y)$(hostprogs-m))
 
-# hostprogs-y := tools/build may have been specified. Retreive directory
-host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
-host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))
-
-
 # C code
 # Executables compiled from a single .c file
 host-csingle	:= $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
@@ -65,6 +60,21 @@ host-cobjs	:= $(filter-out %.so,$(host-c
 #Object (.o) files used by the shared libaries
 host-cshobjs	:= $(sort $(foreach m,$(host-cshlib),$($(m:.so=-objs))))
 
+# output directory for programs/.o files
+# hostprogs-y := tools/build may have been specified. Retreive directory
+host-objdirs := $(foreach f,$(__hostprogs), $(if $(dir $(f)),$(dir $(f))))
+# directory of .o files from prog-objs notation
+host-objdirs += $(foreach f,$(host-cmulti),                  \
+                    $(foreach m,$($(f)-objs),                \
+                        $(if $(dir $(m)),$(dir $(m)))))
+# directory of .o files from prog-cxxobjs notation
+host-objdirs += $(foreach f,$(host-cxxmulti),                  \
+                    $(foreach m,$($(f)-cxxobjs),                \
+                        $(if $(dir $(m)),$(dir $(m)))))
+
+host-objdirs := $(strip $(sort $(filter-out ./,$(host-objdirs))))
+
+
 __hostprogs     := $(addprefix $(obj)/,$(__hostprogs))
 host-csingle	:= $(addprefix $(obj)/,$(host-csingle))
 host-cmulti	:= $(addprefix $(obj)/,$(host-cmulti))
@@ -75,6 +85,7 @@ host-cshlib	:= $(addprefix $(obj)/,$(hos
 host-cshobjs	:= $(addprefix $(obj)/,$(host-cshobjs))
 host-objdirs    := $(addprefix $(obj)/,$(host-objdirs))
 
+$(warning host-objdirs=$(host-objdirs))
 obj-dirs += $(host-objdirs)
 
 #####

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux