Gabriel C wrote:
BITS_PER_LONG was originally set in <asm/types.h>:
39 #ifdef CONFIG_X86_32
40 # define BITS_PER_LONG 32
41 #else
42 # define BITS_PER_LONG 64
43 #endif
User land does not know anything about 'CONFIG_X86_32' right ?
Wait... this is *user mode* code at this point?
Linux kernel headers aren't includable from user space without
processing them through "make headers_install".
However, from looking at the filenames in your list, it doesn't look
like userspace code at all (although they're wrappered to the degree
that it's somewhat hard to tell.) Thus, you're building a kernel
module, not userland.
That is the problem. I've changed the headers virtualbox need from
#ifdef CONFIG_X86_32 to #ifdef __i386__ and all compiled fine.
( subarch headers includes are changed manually still but I think it is the same problem )
Also all the headers got these defines with CONFIG_X86_32 does not work.
...
#ifdef CONFIG_X86_32
# include "foo_32.h"
#else
# include "foo_64.h"
#endif
...
results in including both header files on my i686 box.
I don't know what the right way is to fix that , define some who CONFIG_X86_32 to __i386__ ? or just s/CONFIG_X86_32/__i386__/ ?
It sounds like something is seriously broken in your setup, or in the
VirtualBox makefiles. From the looks of it, I would say the latter.
It would help to see how gcc is invoked, but your email message doesn't
include any gcc invocations, and your "full error log" weblink is
broken, so it's hard to say.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]