Bug 137323 - scripts/basic/split-include fails to stat include/linux/autoconf.h
Summary: scripts/basic/split-include fails to stat include/linux/autoconf.h
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dave Jones
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-10-27 15:29 UTC by Christoph Hellwig
Modified: 2015-01-04 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-10-06 03:56:24 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Christoph Hellwig 2004-10-27 15:29:01 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:1.7.3)
Gecko/20041007 Epiphany/1.2.8

Description of problem:
When trying to build a kernel (rpmbuild --rebuild
kernel-2.6.9-1.643.src.rpm or manual build of mainline) the build
fails with

-------- snip --------
scripts/basic/split-include: include/linux/autoconf.h: Invalid argument
make: *** [include/config/MARKER] Error 1
-------- snip --------

putting some instrumentation in there shows that the first stat
(in line 76) fails with -ENODEV.

strace doesn't really give usefull output, it doesn't even include
the failing stat:

-------- snip --------
execve("./scripts/basic/split-include",
["./scripts/basic/split-include", "include/linux/autoconf.h",
"include/linux/config"], [/* 23 vars */]) = 0
uname({sys="Linux", node="bunny.lst.de", ...}) = 0
brk(0)                                  = 0x502000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2a95556000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=112215, ...}) = 0
mmap(NULL, 112215, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2a95557000
close(3)                                = 0
open("/lib64/tls/libc.so.6", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p\305\301"...,
640) = 640
lseek(3, 624, SEEK_SET)                 = 624
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"...,
32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=1606872, ...}) = 0
mmap(0x3fd8c00000, 2297832, PROT_READ|PROT_EXEC,
MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3fd8c00000
mprotect(0x3fd8d28000, 1085416, PROT_NONE) = 0
mmap(0x3fd8e00000, 184320, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x100000) = 0x3fd8e00000
mmap(0x3fd8e2d000, 16360, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3fd8e2d000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2a95573000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x2a95574000
mprotect(0x3fd8e27000, 16384, PROT_READ) = 0
mprotect(0x3fd8b14000, 4096, PROT_READ) = 0
arch_prctl(0x1002, 0x2a95573b00)        = 0
munmap(0x2a95557000, 112215)            = 0
write(2, "./scripts/basic/split-include: ", 31) = 31
write(2, "include/linux/autoconf.h: Invali"..., 43) = 43
exit_group(0x1, 0x1, 0x3fd8c64d60, 0, 0x3c <unfinished ... exit status 1>
-------- snip --------

This is a FC3 install updated to yersterday's rawhide.

Version-Release number of selected component (if applicable):
2.6.9-1.643

How reproducible:
Always

Steps to Reproduce:
1. try to build a kernel
2.
3.
    

Actual Results:  split-include aborts

Expected Results:  split-include creates include/linux/config/* files

Additional info:

Comment 1 Dave Jones 2004-10-29 00:00:44 UTC
-ENODEV  ?! wtf ?

can you add a printf ("FOO! %s\n", str_file_autoconf);

and find out what its trying to open ?
Here it seems to do the right thing (on the -637 kernel, and nothing really
stands out as obvious candidate between 637 -> 643).

I'll reboot in a sec, and try to reproduce.

Does your /dev look ok ?  Running latest udev ?


Comment 2 Dave Jones 2004-10-29 00:09:56 UTC
hmm, works just fine for me (on x86-64 too)

with my above debug printf it just prints out 'include/linux/autoconf.h'
as expected. I'm strongly suspecting something has hosed your /dev


Comment 3 Dave Jones 2005-09-28 10:04:00 UTC
did this ever get fixed ?



Note You need to log in before you can comment on or make changes to this bug.