Andrew Benton wrote:

> Andrew Benton wrote:
>> Uh-oh, it's that time again. New kernel headers, new breakage. It seems
>> that iptables has issues with the new kernel headers. Anybody else
>> seeing this?
>> 
>> cc -O2 -Wall -Wunused -I/usr/src/linux/include -Iinclude/
>> -DIPTABLES_VERSION=\"1.3.1\"  -D_UNKNOWN_KERNEL_POINTER_SIZE -fPIC -o
>> extensions/libipt_CONNMARK_sh.o -c extensions/libipt_CONNMARK.c
>> ld -shared  -o extensions/libipt_CONNMARK.so
>> extensions/libipt_CONNMARK_sh.o
>> cc -O2 -Wall -Wunused -I/usr/src/linux/include -Iinclude/
>> -DIPTABLES_VERSION=\"1.3.1\"  -D_UNKNOWN_KERNEL_POINTER_SIZE -fPIC -o
>> extensions/libipt_DNAT_sh.o -c extensions/libipt_DNAT.c
>> extensions/libipt_DNAT.c:16: error: field `mr' has incomplete type
>> extensions/libipt_DNAT.c:228: error: invalid application of `sizeof' to
>> incomplete type `ip_nat_multi_range_compat'
>> extensions/libipt_DNAT.c:229: error: invalid application of `sizeof' to
>> incomplete type `ip_nat_multi_range_compat'
>> make: *** [extensions/libipt_DNAT_sh.o] Error 1
> Well, just to answer myself, I took the dirty route and untarred the
> kernel sources in /usr/src/linux and now it builds fine. User space
> applications shouldn't need to build against the raw kernel sources. Does
> anyone know a cleaner solution?

Well a sollution is to make a directory /usr/src/linux/include,
which is a real directory, not a symlink to somewhere.

Now put in  here the symbolic links asm and linux which are pointing to 
/usr/linux/include/asm and /usr/linux/include/linux (in that order).
(these links are pointing to an absolute path, of course you can use relative 
paths instead)

Now compilation goes fine.

And never let this directory /usr/src/linux point to anywhere else.



Stef Bon

-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to