New error cross compiling Linux kernel on Cygwin 1.7

Stephen M. Kenton skenton@ou.edu
Sun Nov 29 14:32:00 GMT 2009


I got a couple of new errors since the last time cross compiled the 
Linux kernel on Cygwin with 20 or so tool chains for the different 
arches and compare the results to Linux

CYGWIN_NT-5.1 MediaCenterPC 1.7.0(0.212/5/3) 2009-07-24 09:59 i686 Cygwin

Linux 454util 2.6.31.5-127.fc12.x86_64 #1 SMP Sat Nov 7 21:11:14 EST 
2009 x86_64 x86_64 x86_64 GNU/Linux

I'm not sure if this one is a Cygwin or make-3.81 problem, but it 
centers around whether the generated executable scripts/pnmtologo.exe 
has an extension of .exe or not. It it does, I get the following message 
from the kernel build.

make -f scripts/Makefile.build obj=drivers/video/logo 

x86_64-linux-gcc -Wp,-MD,drivers/video/logo/.logo.o.d  -nostdinc 
-isystem /usr/local/lib/gcc/x86_64-linux/4.4.2/include -Iinclude  
-I/snap/build/linux-2.6.32-rc8/arch/x86/include -include 
include/linux/autoconf.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 -Os -m32 -msoft-float -mregparm=3 
-freg-struct-return -mpreferred-stack-boundary=2 -march=i686 
-mtune=generic -Wa,-mtune=generic32 -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 
-Wframe-larger-than=2048 -fno-stack-protector -fno-omit-frame-pointer 
-fno-optimize-sibling-calls -Wdeclaration-after-statement 
-Wno-pointer-sign -fno-strict-overflow -fno-dwarf2-cfi-asm 
-fconserve-stack   -D"KBUILD_STR(s)=#s" 
-D"KBUILD_BASENAME=KBUILD_STR(logo)"  
-D"KBUILD_MODNAME=KBUILD_STR(logo)"  -c -o drivers/video/logo/logo.o 
drivers/video/logo/logo.c

make[3]: *** No rule to make target 
`drivers/video/logo/logo_linux_clut224.o', needed by 
`drivers/video/logo/built-in.o'.  
Stop.
make[2]: *** [drivers/video/logo] Error 2
make[1]: *** [drivers/video] Error 2
make: *** [drivers] Error 2


If I rename it to scripts/pnmtologo without the .exe then the build 
continue on making the logo with these commands which generate 
logo_linux_clut224.c from the logo file and then compile it

make -f scripts/Makefile.build obj=drivers/video/logo

   gcc -Wp,-MD,drivers/video/logo/.logo.o.d  -nostdinc -isystem 
/usr/lib/gcc/x86_64-redhat-linux/4.4.2/include -Iinclude 
-I/snap/build/linux-2.6.32-rc8/arch/x86/include -include 
include/linux/autoconf.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 -Os -m64 -mtune=generic -mno-red-zone 
-mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args 
-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
-Wframe-larger-than=2048 -fno-stack-protector -fno-omit-frame-pointer 
-fno-optimize-sibling-calls -Wdeclaration-after-statement 
-Wno-pointer-sign -fno-strict-overflow -fno-dwarf2-cfi-asm 
-fconserve-stack   -D"KBUILD_STR(s)=#s" 
-D"KBUILD_BASENAME=KBUILD_STR(logo)" 
-D"KBUILD_MODNAME=KBUILD_STR(logo)"  -c -o drivers/video/logo/logo.o 
drivers/video/logo/logo.c


   scripts/pnmtologo -t clut224 -n logo_linux_clut224 -o  
drivers/video/logo/logo_linux_clut224.c 
drivers/video/logo/logo_linux_clut224.ppm

   gcc -Wp,-MD,drivers/video/logo/.logo_linux_clut224.o.d  -nostdinc 
-isystem /usr/lib/gcc/x86_64-redhat-linux/4.4.2/include
-Iinclude  -I/snap/build/linux-2.6.32-rc8/arch/x86/include -include 
include/linux/autoconf.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 -Os -m64 -mtune=generic -mno-red-zone 
-mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args 
-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 
-Wframe-larger-than=2048 -fno-stack-protector -fno-omit-frame-pointer 
-fno-optimize-sibling-calls -Wdeclaration-after-statement 
-Wno-pointer-sign -fno-strict-overflow -fno-dwarf2-cfi-asm 
-fconserve-stack -D"KBUILD_STR(s)=#s" 
-D"KBUILD_BASENAME=KBUILD_STR(logo_linux_clut224)"  
-D"KBUILD_MODNAME=KBUILD_STR(logo_linux_clut224)"  -c -o 
drivers/video/logo/logo_linux_clut224.o 
drivers/video/logo/logo_linux_clut224.c

   ld -m elf_x86_64   -r -o drivers/video/logo/built-in.o 
drivers/video/logo/logo.o drivers/video/logo/logo_linux_clut224.o


Here are the interesting bits of the make file

pnmtologo := scripts/pnmtologo
 
# Create commands like "pnmtologo -t mono -n logo_mac_mono -o ..."
quiet_cmd_logo = LOGO    $@
        cmd_logo = $(pnmtologo) \
                        -t $(patsubst $*_%,%,$(notdir $(basename $<))) \
                        -n $(notdir $(basename $<)) -o $@ $<
 
$(obj)/%_clut224.c: $(src)/%_clut224.ppm $(pnmtologo) FORCE


FYI - Steve



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list