Bug 16533
Summary: | Kernel compiling fails with make-3.82 if I use an object dir and compile firmware into the kernel | ||
---|---|---|---|
Product: | Other | Reporter: | Andrew Benton (b3nton) |
Component: | Other | Assignee: | other_other |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | akpm |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | Subsystem: | ||
Regression: | No | Bisected commit-id: | |
Attachments: | kernel config which shows the problem |
Doh typo on the third line: "make-3.81 O=/tmp/linux-build-dir" succeeds. The build fails if I do: make O=/tmp/linux-build-dir This patch fixes the problem: http://lkml.org/lkml/2010/8/16/80 mmarek merged the patch. |
Created attachment 27370 [details] kernel config which shows the problem I recently upgraded to make-3.82. It seems to have broken kernel compiling. If I enable CONFIG_FIRMWARE_IN_KERNEL=y and compile in an object directory like this:make-3.81 O=/tmp/linux-build-dir then the build fails like this: LD sound/usb/misc/built-in.o LD sound/usb/usx2y/built-in.o LD sound/usb/built-in.o CC sound/last.o LD sound/built-in.o make[2]: *** No rule to make target `/tmp/linux-build-dir/firmware/radeon/', needed by `firmware/radeon/R100_cp.bin.gen.S'. Stop. make[1]: *** [firmware] Error 2 make: *** [sub-make] Error 2 andy:~$ If I build in the kernel source with a straightforward make then the build succeeds. If I use an object dir but disable CONFIG_FIRMWARE_IN_KERNEL then the build succeeds. If I use make-3.81 then the build succeeds. The combination of three things makes the build fail: 1 using an object dir 2 CONFIG_FIRMWARE_IN_KERNEL=y 3 make-3.82