LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* aic7xxx build failure
@ 2008-02-05 17:40 Adrian Bunk
  2008-02-05 18:08 ` James Bottomley
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Adrian Bunk @ 2008-02-05 17:40 UTC (permalink / raw)
  To: Sam Ravnborg, Ingo Molnar, James Bottomley; +Cc: linux-kernel, linux-scsi

Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
compilation:

<--  snip  -->

$ make O=../out/x86-full
...
  SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
  SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
  CC      drivers/scsi/aic7xxx/aic79xx_core.o
gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
gcc: no input files
make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1

<--  snip  -->

Next "make" run brings the same failure in 
drivers/scsi/aic7xxx/aic7xxx_core.c.

With the third "make" it works.

It might compile for people with SMP systems using -j?

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 17:40 aic7xxx build failure Adrian Bunk
@ 2008-02-05 18:08 ` James Bottomley
  2008-02-05 18:18 ` James Bottomley
  2008-02-05 18:47 ` Sam Ravnborg
  2 siblings, 0 replies; 12+ messages in thread
From: James Bottomley @ 2008-02-05 18:08 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Sam Ravnborg, Ingo Molnar, linux-kernel, linux-scsi

On Tue, 2008-02-05 at 19:40 +0200, Adrian Bunk wrote:
> Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> compilation:
> 
> <--  snip  -->
> 
> $ make O=../out/x86-full
> ...
>   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
>   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
>   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> gcc: no input files
> make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> 
> <--  snip  -->
> 
> Next "make" run brings the same failure in 
> drivers/scsi/aic7xxx/aic7xxx_core.c.
> 
> With the third "make" it works.
> 
> It might compile for people with SMP systems using -j?

I'd just say "weird behaviour"  the file being complained about is
definitely part of the tree ... does it actually exist in your tree when
gcc claims it doesn't? if so, I suspect some type of make path screwup
here.  The commit in question is this:

commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb
Author: Sam Ravnborg <sam@ravnborg.org>
Date:   Sun Feb 3 21:55:49 2008 +0100

    scsi: fix dependency bug in aic7 Makefile
    
    Building the aic7xxx driver includes the copy
    of an .h file from a _shipped file.
    
    In a highly parallel build Ingo saw that the
    build sometimes failed (included distcc usage).
    It was tracked down to a missing dependency from the .c
    source file to the generated .h file.
    We started to build the .c file before the
    copy (cat) operation of the .h file completed
    and we then only got half of the definitions
    from the copied .h file.
    
    Add an explicit dependency from the .c files to the
    generated .h files so make knows all dependencies and
    finsih the build of the .h files before it starts
    building the .o files.
    
    Ingo tested this fix and reported:
    good news: hundreds of successful kernel builds and no failures
    overnight.
    
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
    Acked-by: Ingo Molnar <mingo@elte.hu>
    Acked-by: James Bottomley <James.Bottomley@HansenPartnership.com>

diff --git a/drivers/scsi/aic7xxx/Makefile b/drivers/scsi/aic7xxx/Makefile
index e4f70c5..4c54954 100644
--- a/drivers/scsi/aic7xxx/Makefile
+++ b/drivers/scsi/aic7xxx/Makefile
@@ -44,13 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
 
 # Dependencies for generated files need to be listed explicitly
 
-$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_seq.h
-$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_reg.h
-$(obj)/aic79xx_core.o: $(obj)/aic79xx_seq.h
-$(obj)/aic79xx_core.o: $(obj)/aic79xx_reg.h
-
-$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h
-$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h
+$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
+$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
 
 aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
 aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c

The last two additions look wrong:  they make source files depend on
headers, which isn't right: it's object files that depend on headers (we
don't know how to rebuild the .c files because they're not auto
generated).  However, the commit log indicates the cause might be
deeper.

James



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 17:40 aic7xxx build failure Adrian Bunk
  2008-02-05 18:08 ` James Bottomley
@ 2008-02-05 18:18 ` James Bottomley
  2008-02-05 18:24   ` Adrian Bunk
  2008-02-05 18:47 ` Sam Ravnborg
  2 siblings, 1 reply; 12+ messages in thread
From: James Bottomley @ 2008-02-05 18:18 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Sam Ravnborg, Ingo Molnar, linux-kernel, linux-scsi


On Tue, 2008-02-05 at 19:40 +0200, Adrian Bunk wrote:
> Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> compilation:
> 
> <--  snip  -->
> 
> $ make O=../out/x86-full
> ...
>   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
>   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
>   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> gcc: no input files
> make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1

Could you run this with V=1 to get us a verbose output of what the exact
files gcc is failing on are?

Thanks,

James



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 18:18 ` James Bottomley
@ 2008-02-05 18:24   ` Adrian Bunk
  2008-02-05 18:30     ` James Bottomley
  0 siblings, 1 reply; 12+ messages in thread
From: Adrian Bunk @ 2008-02-05 18:24 UTC (permalink / raw)
  To: James Bottomley; +Cc: Sam Ravnborg, Ingo Molnar, linux-kernel, linux-scsi

On Tue, Feb 05, 2008 at 12:18:04PM -0600, James Bottomley wrote:
> 
> On Tue, 2008-02-05 at 19:40 +0200, Adrian Bunk wrote:
> > Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> > compilation:
> > 
> > <--  snip  -->
> > 
> > $ make O=../out/x86-full
> > ...
> >   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
> >   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
> >   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> > gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> > gcc: no input files
> > make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> 
> Could you run this with V=1 to get us a verbose output of what the exact
> files gcc is failing on are?

make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi
make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi/aacraid
(cat /dev/null; ) > drivers/scsi/aacraid/modules.order
make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi/aic7xxx
  cat /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped > drivers/scsi/aic7xxx/aic79xx_seq.h
  cat /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped > drivers/scsi/aic7xxx/aic79xx_reg.h
  gcc -Wp,-MD,drivers/scsi/aic7xxx/.aic79xx_core.o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.2.3/include -D__KERNEL__ -Iinclude -Iinclude2 -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include -include include/linux/autoconf.h -I/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx -Idrivers/scsi/aic7xxx -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=athlon -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-x86/mach-generic -Iinclude/asm-x86/mach-generic -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-x86/mach-default -Iinclude/asm-x86/mach-default -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -I/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi -Idrivers/scsi  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(aic79xx_core)"  -D"KBUILD_MODNAME=KBUILD_STR(aic79xx)" -c -o drivers/scsi/aic7xxx/aic79xx_core.o drivers/scsi/aic7xxx/aic79xx_core.c
gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
gcc: no input files
make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
make[3]: *** [drivers/scsi/aic7xxx] Error 2
make[2]: *** [drivers/scsi] Error 2
make[1]: *** [drivers] Error 2
make: *** [sub-make] Error 2


> Thanks,
> 
> James

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 18:24   ` Adrian Bunk
@ 2008-02-05 18:30     ` James Bottomley
  2008-02-05 18:35       ` Adrian Bunk
  2008-02-05 18:37       ` Arjan van de Ven
  0 siblings, 2 replies; 12+ messages in thread
From: James Bottomley @ 2008-02-05 18:30 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Sam Ravnborg, Ingo Molnar, linux-kernel, linux-scsi


On Tue, 2008-02-05 at 20:24 +0200, Adrian Bunk wrote:
> On Tue, Feb 05, 2008 at 12:18:04PM -0600, James Bottomley wrote:
> > 
> > On Tue, 2008-02-05 at 19:40 +0200, Adrian Bunk wrote:
> > > Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> > > compilation:
> > > 
> > > <--  snip  -->
> > > 
> > > $ make O=../out/x86-full
> > > ...
> > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
> > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
> > >   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> > > gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> > > gcc: no input files
> > > make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> > 
> > Could you run this with V=1 to get us a verbose output of what the exact
> > files gcc is failing on are?
> 
> make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi
> make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi/aacraid
> (cat /dev/null; ) > drivers/scsi/aacraid/modules.order
> make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi/aic7xxx
>   cat /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped > drivers/scsi/aic7xxx/aic79xx_seq.h
>   cat /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped > drivers/scsi/aic7xxx/aic79xx_reg.h
>   gcc -Wp,-MD,drivers/scsi/aic7xxx/.aic79xx_core.o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.2.3/include -D__KERNEL__ -Iinclude -Iinclude2 -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include -include include/linux/autoconf.h -I/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx -Idrivers/scsi/aic7xxx -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=athlon -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-x86/mach-generic -Iinclude/asm-x86/mach-generic -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-x86/mach-default -Iinclude/asm-x86/mach-default -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -I/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi -Idrivers/scsi  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(aic79xx_core)"  -D"KBUILD_MODNAME=KBUILD_STR(aic79xx)" -c -o drivers/scsi/aic7xxx/aic79xx_core.o drivers/scsi/aic7xxx/aic79xx_core.c
> gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> gcc: no input files
> make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> make[3]: *** [drivers/scsi/aic7xxx] Error 2
> make[2]: *** [drivers/scsi] Error 2
> make[1]: *** [drivers] Error 2
> make: *** [sub-make] Error 2

Do I assume from this that you have different source and object
directories?  There shouldn't be a failure if this is building
in /home/bunk/linux/kernel-2.6/git/linux-2.6/ because the source file
should be there.

James



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 18:30     ` James Bottomley
@ 2008-02-05 18:35       ` Adrian Bunk
  2008-02-05 18:37       ` Arjan van de Ven
  1 sibling, 0 replies; 12+ messages in thread
From: Adrian Bunk @ 2008-02-05 18:35 UTC (permalink / raw)
  To: James Bottomley; +Cc: Sam Ravnborg, Ingo Molnar, linux-kernel, linux-scsi

On Tue, Feb 05, 2008 at 12:30:56PM -0600, James Bottomley wrote:
> 
> On Tue, 2008-02-05 at 20:24 +0200, Adrian Bunk wrote:
> > On Tue, Feb 05, 2008 at 12:18:04PM -0600, James Bottomley wrote:
> > > 
> > > On Tue, 2008-02-05 at 19:40 +0200, Adrian Bunk wrote:
> > > > Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> > > > compilation:
> > > > 
> > > > <--  snip  -->
> > > > 
> > > > $ make O=../out/x86-full
> > > > ...
> > > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
> > > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
> > > >   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> > > > gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> > > > gcc: no input files
> > > > make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> > > 
> > > Could you run this with V=1 to get us a verbose output of what the exact
> > > files gcc is failing on are?
> > 
> > make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi
> > make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi/aacraid
> > (cat /dev/null; ) > drivers/scsi/aacraid/modules.order
> > make -f /home/bunk/linux/kernel-2.6/git/linux-2.6/scripts/Makefile.build obj=drivers/scsi/aic7xxx
> >   cat /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped > drivers/scsi/aic7xxx/aic79xx_seq.h
> >   cat /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx/aic79xx_reg.h_shipped > drivers/scsi/aic7xxx/aic79xx_reg.h
> >   gcc -Wp,-MD,drivers/scsi/aic7xxx/.aic79xx_core.o.d  -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.2.3/include -D__KERNEL__ -Iinclude -Iinclude2 -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include -include include/linux/autoconf.h -I/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi/aic7xxx -Idrivers/scsi/aic7xxx -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=athlon -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-x86/mach-generic -Iinclude/asm-x86/mach-generic -I/home/bunk/linux/kernel-2.6/git/linux-2.6/include/asm-x86/mach-default -Iinclude/asm-x86/mach-default -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -I/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/scsi -Idrivers/scsi  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(aic79xx_core)"  -D"KBUILD_MODNAME=KBUILD_STR(aic79xx)" -c -o drivers/scsi/aic7xxx/aic79xx_core.o drivers/scsi/aic7xxx/aic79xx_core.c
> > gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> > gcc: no input files
> > make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> > make[3]: *** [drivers/scsi/aic7xxx] Error 2
> > make[2]: *** [drivers/scsi] Error 2
> > make[1]: *** [drivers] Error 2
> > make: *** [sub-make] Error 2
> 
> Do I assume from this that you have different source and object
> directories?

Yes, as I wrote in my bug report:
  make O=../out/x86-full

> There shouldn't be a failure if this is building
> in /home/bunk/linux/kernel-2.6/git/linux-2.6/ because the source file
> should be there.
> 
> James

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 18:30     ` James Bottomley
  2008-02-05 18:35       ` Adrian Bunk
@ 2008-02-05 18:37       ` Arjan van de Ven
  1 sibling, 0 replies; 12+ messages in thread
From: Arjan van de Ven @ 2008-02-05 18:37 UTC (permalink / raw)
  To: James Bottomley
  Cc: Adrian Bunk, Sam Ravnborg, Ingo Molnar, linux-kernel, linux-scsi

On Tue, 05 Feb 2008 12:30:56 -0600

> > make: *** [sub-make] Error 2
> 
> Do I assume from this that you have different source and object
> directories?  There shouldn't be a failure if this is building
> in /home/bunk/linux/kernel-2.6/git/linux-2.6/ because the source file
> should be there.
> 
> James

time to run a fsck as well just to rule stuff out?

-- 
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 17:40 aic7xxx build failure Adrian Bunk
  2008-02-05 18:08 ` James Bottomley
  2008-02-05 18:18 ` James Bottomley
@ 2008-02-05 18:47 ` Sam Ravnborg
  2008-02-05 20:06   ` Sam Ravnborg
  2 siblings, 1 reply; 12+ messages in thread
From: Sam Ravnborg @ 2008-02-05 18:47 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Ingo Molnar, James Bottomley, linux-kernel, linux-scsi

On Tue, Feb 05, 2008 at 07:40:24PM +0200, Adrian Bunk wrote:
> Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> compilation:
> 
> <--  snip  -->
> 
> $ make O=../out/x86-full
> ...
>   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
>   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
>   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> gcc: no input files
> make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> 
> <--  snip  -->
> 
> Next "make" run brings the same failure in 
> drivers/scsi/aic7xxx/aic7xxx_core.c.
> 
> With the third "make" it works.
> 
> It might compile for people with SMP systems using -j?

I can reproduce it and will fix it.

	Sam

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 18:47 ` Sam Ravnborg
@ 2008-02-05 20:06   ` Sam Ravnborg
  2008-02-05 20:27     ` James Bottomley
  2008-02-05 20:52     ` Adrian Bunk
  0 siblings, 2 replies; 12+ messages in thread
From: Sam Ravnborg @ 2008-02-05 20:06 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Ingo Molnar, James Bottomley, linux-kernel, linux-scsi

On Tue, Feb 05, 2008 at 07:47:35PM +0100, Sam Ravnborg wrote:
> On Tue, Feb 05, 2008 at 07:40:24PM +0200, Adrian Bunk wrote:
> > Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> > compilation:
> > 
> > <--  snip  -->
> > 
> > $ make O=../out/x86-full
> > ...
> >   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
> >   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
> >   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> > gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> > gcc: no input files
> > make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> > 
> > <--  snip  -->
> > 
> > Next "make" run brings the same failure in 
> > drivers/scsi/aic7xxx/aic7xxx_core.c.
> > 
> > With the third "make" it works.
> > 
> > It might compile for people with SMP systems using -j?
> 
> I can reproduce it and will fix it.
Seems I was sidetracked by some wrong assumptions.
Could you please test this fix.

Works for me but this time I will do more testing....

	Sam

diff --git a/drivers/scsi/aic7xxx/Makefile b/drivers/scsi/aic7xxx/Makefile
index 4c54954..6aa49e7 100644
--- a/drivers/scsi/aic7xxx/Makefile
+++ b/drivers/scsi/aic7xxx/Makefile
@@ -44,8 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
 
 # Dependencies for generated files need to be listed explicitly
 
-$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
-$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
+$(addprefix $(src)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
+$(addprefix $(src)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
 
 aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
 aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 20:06   ` Sam Ravnborg
@ 2008-02-05 20:27     ` James Bottomley
  2008-02-05 20:56       ` Sam Ravnborg
  2008-02-05 20:52     ` Adrian Bunk
  1 sibling, 1 reply; 12+ messages in thread
From: James Bottomley @ 2008-02-05 20:27 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Adrian Bunk, Ingo Molnar, linux-kernel, linux-scsi

On Tue, 2008-02-05 at 21:06 +0100, Sam Ravnborg wrote:
> On Tue, Feb 05, 2008 at 07:47:35PM +0100, Sam Ravnborg wrote:
> > On Tue, Feb 05, 2008 at 07:40:24PM +0200, Adrian Bunk wrote:
> > > Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> > > compilation:
> > > 
> > > <--  snip  -->
> > > 
> > > $ make O=../out/x86-full
> > > ...
> > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
> > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
> > >   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> > > gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> > > gcc: no input files
> > > make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> > > 
> > > <--  snip  -->
> > > 
> > > Next "make" run brings the same failure in 
> > > drivers/scsi/aic7xxx/aic7xxx_core.c.
> > > 
> > > With the third "make" it works.
> > > 
> > > It might compile for people with SMP systems using -j?
> > 
> > I can reproduce it and will fix it.
> Seems I was sidetracked by some wrong assumptions.
> Could you please test this fix.
> 
> Works for me but this time I will do more testing....
> 
> 	Sam
> 
> diff --git a/drivers/scsi/aic7xxx/Makefile b/drivers/scsi/aic7xxx/Makefile
> index 4c54954..6aa49e7 100644
> --- a/drivers/scsi/aic7xxx/Makefile
> +++ b/drivers/scsi/aic7xxx/Makefile
> @@ -44,8 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
>  
>  # Dependencies for generated files need to be listed explicitly
>  
> -$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
> -$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
> +$(addprefix $(src)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
> +$(addprefix $(src)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h

OK, I think it's time for me to give up completely on understanding
kbuild.  To me this construction looks like you're adding source
directory prefixes to objects ... which can never be satisfied can it,
if the objectas are in the object directory?

James



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 20:06   ` Sam Ravnborg
  2008-02-05 20:27     ` James Bottomley
@ 2008-02-05 20:52     ` Adrian Bunk
  1 sibling, 0 replies; 12+ messages in thread
From: Adrian Bunk @ 2008-02-05 20:52 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Ingo Molnar, James Bottomley, linux-kernel, linux-scsi

On Tue, Feb 05, 2008 at 09:06:23PM +0100, Sam Ravnborg wrote:
> On Tue, Feb 05, 2008 at 07:47:35PM +0100, Sam Ravnborg wrote:
> > On Tue, Feb 05, 2008 at 07:40:24PM +0200, Adrian Bunk wrote:
> > > Commit 8891fec65ac5b5a74b50c705e31b66c92c3eddeb broke aic7xxx 
> > > compilation:
> > > 
> > > <--  snip  -->
> > > 
> > > $ make O=../out/x86-full
> > > ...
> > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_seq.h
> > >   SHIPPED drivers/scsi/aic7xxx/aic79xx_reg.h
> > >   CC      drivers/scsi/aic7xxx/aic79xx_core.o
> > > gcc: drivers/scsi/aic7xxx/aic79xx_core.c: No such file or directory
> > > gcc: no input files
> > > make[4]: *** [drivers/scsi/aic7xxx/aic79xx_core.o] Error 1
> > > 
> > > <--  snip  -->
> > > 
> > > Next "make" run brings the same failure in 
> > > drivers/scsi/aic7xxx/aic7xxx_core.c.
> > > 
> > > With the third "make" it works.
> > > 
> > > It might compile for people with SMP systems using -j?
> > 
> > I can reproduce it and will fix it.
> Seems I was sidetracked by some wrong assumptions.
> Could you please test this fix.
> 
> Works for me but this time I will do more testing....

Thanks, works fine for me.

> 	Sam
> 
> diff --git a/drivers/scsi/aic7xxx/Makefile b/drivers/scsi/aic7xxx/Makefile
> index 4c54954..6aa49e7 100644
> --- a/drivers/scsi/aic7xxx/Makefile
> +++ b/drivers/scsi/aic7xxx/Makefile
> @@ -44,8 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
>  
>  # Dependencies for generated files need to be listed explicitly
>  
> -$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
> -$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
> +$(addprefix $(src)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
> +$(addprefix $(src)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
>  
>  aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE)	:= $(obj)/aic7xxx_reg.h
>  aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT)	+= $(obj)/aic7xxx_reg_print.c

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: aic7xxx build failure
  2008-02-05 20:27     ` James Bottomley
@ 2008-02-05 20:56       ` Sam Ravnborg
  0 siblings, 0 replies; 12+ messages in thread
From: Sam Ravnborg @ 2008-02-05 20:56 UTC (permalink / raw)
  To: James Bottomley; +Cc: Adrian Bunk, Ingo Molnar, linux-kernel, linux-scsi

> > index 4c54954..6aa49e7 100644
> > --- a/drivers/scsi/aic7xxx/Makefile
> > +++ b/drivers/scsi/aic7xxx/Makefile
> > @@ -44,8 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
> >  
> >  # Dependencies for generated files need to be listed explicitly
> >  
> > -$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
> > -$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
> > +$(addprefix $(src)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
> > +$(addprefix $(src)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
> 
> OK, I think it's time for me to give up completely on understanding
> kbuild.  To me this construction looks like you're adding source
> directory prefixes to objects ... which can never be satisfied can it,
> if the objectas are in the object directory?
Or maybe I'm just so damn tired that I should sleep instead of trying to fix
this Makefile for 117 time.
You are right that it should read:

-$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
-$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
+$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
+$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h

But for now the distinction between src and obj is purely for documentation
as they have the same value - also when O= is used.
So it should work anyway.

If you use M=... (or SUBDIRS=...) I think it matters but this
is not the case for this in-tree driver in normal usage situations.

I will test some more tomorrow and if feedback from Adrian is positive I
will submit the hopefully last update to this Makefile to Linus.
[I need to test if it can generate the files using the aicasm tool for instance).

	Sam

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2008-02-05 20:56 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-05 17:40 aic7xxx build failure Adrian Bunk
2008-02-05 18:08 ` James Bottomley
2008-02-05 18:18 ` James Bottomley
2008-02-05 18:24   ` Adrian Bunk
2008-02-05 18:30     ` James Bottomley
2008-02-05 18:35       ` Adrian Bunk
2008-02-05 18:37       ` Arjan van de Ven
2008-02-05 18:47 ` Sam Ravnborg
2008-02-05 20:06   ` Sam Ravnborg
2008-02-05 20:27     ` James Bottomley
2008-02-05 20:56       ` Sam Ravnborg
2008-02-05 20:52     ` Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).