Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 256820

Summary: kernel directory corrupts if directory exists
Product: Gentoo Linux Reporter: Caleb Cushing <xenoterracide>
Component: New packagesAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Caleb Cushing 2009-01-29 18:51:42 UTC
plainly speaking the declared missing files are not on the system, I tried re-installing gentoo-sources to no avail, they seem to have been removed in gentoo-sources-2.6.28-r1

          CCCMD =  x86_64-pc-linux-gnu-gcc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/src/linux/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm  -std=c89 -march=core2 -O2 -pipe  -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC   
In file included from /usr/include/sys/param.h:28,                              
                 from perl.h:653,                                               
                 from miniperlmain.c:36:                                        
/usr/src/linux/include/linux/param.h:4:23: error: /usr/src/linux/include/asm/param.h: Permission denied                                                         
In file included from /usr/include/sys/socket.h:40,                             
                 from /usr/include/netinet/in.h:25,                             
                 from perl.h:1123,                                              
                 from miniperlmain.c:36:                                        
/usr/include/bits/socket.h:354:24: error: /usr/src/linux/include/asm/socket.h: Permission denied                                                                
In file included from /usr/include/bits/errno.h:25,                             
                 from /usr/include/errno.h:36,                                  
                 from perl.h:1180,                                              
                 from miniperlmain.c:36:                                        
/usr/src/linux/include/linux/errno.h:4:23: error: /usr/src/linux/include/asm/errno.h: Permission denied                                                         
In file included from /usr/include/sys/ioctl.h:27,                              
                 from perl.h:1328,                                              
                 from miniperlmain.c:36:                                        
/usr/include/bits/ioctls.h:24:24: error: /usr/src/linux/include/asm/ioctls.h: Permission denied                                                                 
make: *** [miniperlmain.o] Error 1   

@bug-wrangler please cc perl & kernel herd

Reproducible: Always
Comment 1 SpanKY gentoo-dev 2009-01-29 20:44:58 UTC
your /usr/src/linux/ tree needs to be world readable or plenty of emerge processes are going to fail
Comment 2 Caleb Cushing 2009-01-29 20:53:11 UTC
it is, I checked that first, but an ls /usr/src/linux/include/linux/param.h (as root) shows that the file simply does not exist. I checked the previous version and it is there.
Comment 3 Caleb Cushing 2009-01-29 21:14:20 UTC
very strange... I guess I'll resolve cantfix because the very nature of what the problem was is indeterminable. rm -r /usr/src/linux-2.6.28-gentoo-r1 and re-emerging it created the file, however just re-emerge-ing that same version (without deleting first) did not.

if anyone has any idea what would cause this feel free to re-open. because it's obviously not supposed to behave this way.
Comment 4 Caleb Cushing 2009-02-09 08:48:14 UTC
I'm re-opening because I can reproduce this bug 100% I also know how to fix it.

rm -rf /usr/src/linux-whavever-version-being-extracted must be done before emerging an existing version of the kernel, or files will disappear.

I've no idea why they dissappear or what. it's reproducible with both gentoo-sources and vanilla-sources. dmesg shows know errors and this comp is new, I'm also not experiencing this with anything other than the kernel (that I'm aware of), otherwise I'd suspect my fs, ext4. 

I'm currently running a vanilla-sources-2.6.28.4 kernel. and portage 2.2_rc23.

further steps to troubleshoot would be appreciated. this is likely either a kernel (zmedico suggested the eclass) or portage issue, imho.
Comment 5 Caleb Cushing 2009-03-02 01:06:26 UTC
finally tracked this bug down a few days ago. the files the error said it couldn't find were missing. But they weren't the only files possible for it to use. The other files didn't have loose enough permissions. so it's my own fault. I'm debating on an appropriate workaround.