I try to compile rc2 on 2.6.0-test4-mm5 an it gives me the following: Compiling client/smbmount.c In file included from /usr/include/linux/fs.h:16, from /usr/include/linux/smb_fs.h:15, from client/smbmount.c:27: /usr/include/linux/list.h:566:2: warning: #warning "don't include kernel headers in userspace" In file included from /usr/include/linux/fs.h:20, from /usr/include/linux/smb_fs.h:15, from client/smbmount.c:27: /usr/include/linux/radix-tree.h: In function `radix_tree_preload_end': /usr/include/linux/radix-tree.h:54: error: invalid type argument of `->' /usr/include/linux/radix-tree.h:54: error: `TIF_NEED_RESCHED' undeclared (first use in this function) /usr/include/linux/radix-tree.h:54: error: (Each undeclared identifier is reported only once /usr/include/linux/radix-tree.h:54: error: for each function it appears in.) make: *** [client/smbmount.o] Error 1
Same problem with 2.6.0test5mm1 and samba 3.0.0rc3!
Samba 3.0.0 final and 2.6.0test5mm4 still has the same problem. I want to add that I use a link in /usr/include/linux -> /usr/src/linux/include/linux.
This is true only when I try to compile with --with-smbmount! Else, it's working perfectly.
reseting target milestone. 3.0.1 has been frozen. WIll have to re-evaluate these.
it's still there in Samba-3.0.2 w/ Linux-2.6.{0,1,2,3_RC2} :(
From Stefan G. Weichinger <monitor@oops.co.at>: Just to let you know: I just compiled Samba 3.0.2a under Linux 2.6.4-rc2 configured --with-smbmount. The fresh smbmount-binary works fine, all the compile ran through without problems.
What tells you ls -ld /usr/include/linux? It's a link to kernel sources?
I just hit this problem while compiling Samba 3.0.4 on a Linux system running a 2.6.6 kernel. :( Is this problem really fixed? Peace...
> I just hit this problem while compiling Samba 3.0.4 on a Linux system running a > 2.6.6 kernel. :( for kernel 2.6.7 and samba 3.0.4, too :-( and imho the bug marked as 'RESOLVED FIXED' :-(
/usr/include/linux must not be a link to kernel sources! You must use header files that come with glibc.
> /usr/include/linux must not be a link to kernel sources! > You must use header files that come with glibc. ok, i just compiled glibc 2.3.2 with kernel-headers 2.6.7 :-(
You don't need to recompile glibc. Just make sure you don't have /usr/include/linux link to /usr/src/linux/include/linux! Same for asm and asm-i386. Then, you can compile safe samba.
Move your includes /usr/include/linux, /usr/inlude/asm to elsewhere for the time of compilation of software having these problems and use headers from glibc compiled with 2.4 kernel. This should help. Than move back your 2.6 headers. Smbmount seems to include kernel header in userspace and that's not allowed with 2.6 kernels. Thats what i think of it. Hope it helps Tikus
(In reply to comment #13) > Hope it helps yes, that's what i was doing, but this is only a workaround :-(
No, it's not a workaround. You must use includes that come with glibc (2.4 kernel). It may work with 2.6 kernel, but is no guaranty.
> You must use includes that come with glibc (2.4 kernel). my glibc was compiled with kernel-headers-2.6.6 so the optimal would be to compile with the 2.6 series not the 2.4 one
imho the plus code could be add with #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,47) ... code ... #endif as other projects resolved this problem with kernel-headers 2.6
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.