Hi I solved it myself... After removing the kernel-source.rpm it compiled without glitches!! /Christian Christian Bjørnbak wrote:
Hi
I trying to install the cpan perl module IPTables::IPv4, but I get the following compile error:
/usr/src/linux/include/net/protocol.h:63: error: field `list' has incomplete type
Can anyone help me? Or know were to find the module as a rpm?
I have SuSE 9.1 with kernel-default and kernel-source 2.6.5-7.108.
A shorted trace of the error is included below:
cpan -i IPTables::IPv4 We have to reconfigure CPAN.pm due to following uninitialized parameters:
cpan_home, keep_source_where, build_dir, build_cache, scan_cache, index_expire, gzip, tar, unzip, make, pager, makepl_arg, make_arg, make_install_arg, urllist, inhibit_startup_message, ftp_proxy, http_proxy, no_proxy, prerequisites_policy, cache_metadata
/home/cb/.cpan/CPAN/MyConfig.pm initialized.
CPAN is the world-wide archive of perl resources. It consists of about 100 sites that all replicate the same contents all around the globe. Many countries have at least one CPAN site already. The resources found on CPAN are easily accessible with the CPAN.pm module. If you want to use CPAN.pm, you have to configure it properly.
If you do not want to enter a dialog now, you can answer 'no' to this question and I'll try to autoconfigure. (Note: you can revisit this dialog anytime later by typing 'o conf init' at the cpan prompt.)
Are you ready for manual configuration? [yes] no
...
commit: wrote /home/cb/.cpan/CPAN/MyConfig.pm CPAN: Storable loaded ok CPAN: LWP::UserAgent loaded ok Fetching with LWP:
...
Checksum for /home/cb/.cpan/sources/authors/id/D/DP/DPATES/IPTables-IPv4-0.98.tar.gz ok Scanning cache /home/cb/.cpan/build for sizes IPTables-IPv4-0.98/ IPTables-IPv4-0.98/t/ IPTables-IPv4-0.98/t/56speed.t IPTables-IPv4-0.98/t/07flush.t
...
IPTables-IPv4-0.98/unpacker.h IPTables-IPv4-0.98/packer.c IPTables-IPv4-0.98/module_iface.h IPTables-IPv4-0.98/loader.h
CPAN.pm: Going to build D/DP/DPATES/IPTables-IPv4-0.98.tar.gz
Checking if your kit is complete... Looks good Writing Makefile for IPTables::IPv4 cp IPv4/TableTie.pm blib/lib/IPTables/IPv4/TableTie.pm cp IPv4/Chain.pm blib/lib/IPTables/IPv4/Chain.pm cp IPv4.pm blib/lib/IPTables/IPv4.pm AutoSplitting blib/lib/IPTables/IPv4.pm (blib/lib/auto/IPTables/IPv4) cp IPv6.pm blib/lib/IPTables/IPv6.pm AutoSplitting blib/lib/IPTables/IPv6.pm (blib/lib/auto/IPTables/IPv6) cp IPv4/Toplevel.pm blib/lib/IPTables/IPv4/Toplevel.pm cp IPv4/Rule.pm blib/lib/IPTables/IPv4/Rule.pm cp IPv4/RuleList.pm blib/lib/IPTables/IPv4/RuleList.pm /usr/bin/perl /usr/lib/perl5/5.8.3/ExtUtils/xsubpp -noprototypes -typemap /usr/lib/perl5/5.8.3/ExtUtils/typemap -typemap IPTables.typemap IPv4.xs > IPv4.xsc && mv IPv4.xsc IPv4.c cc -c -Iinclude -I/usr/src/linux/include -Wall -DMODULE_PATH=\"/usr/lib/IPTables-IPv4\" -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -Wall -pipe -DVERSION=\"0.98\" -DXS_VERSION=\"0.98\" -fPIC "-I/usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE" IPv4.c In file included from /usr/src/linux/include/linux/netdevice.h:28, from /usr/src/linux/include/linux/netfilter_ipv4.h:10, from /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:25, from include/libiptc/libiptc.h:6, from IPv4.xs:28: /usr/src/linux/include/linux/if.h:25:1: warning: "IFNAMSIZ" redefined In file included from include/libiptc/ipt_kernel_headers.h:14,
...
/usr/src/linux/include/linux/ipv6.h:19: error: redefinition of `struct in6_pktinfo' In file included from /usr/src/linux/include/linux/netfilter_ipv4.h:11, from /usr/src/linux/include/linux/netfilter_ipv4/ip_tables.h:25, from include/libiptc/libiptc.h:6, from IPv4.xs:28: /usr/src/linux/include/net/protocol.h:39: warning: `struct sk_buff' declared inside parameter list /usr/src/linux/include/net/protocol.h:39: warning: its scope is only this definition or declaration, which is probably not what you want /usr/src/linux/include/net/protocol.h:40: error: parse error before "u32" /usr/src/linux/include/net/protocol.h:40: warning: `struct sk_buff' declared inside parameter list /usr/src/linux/include/net/protocol.h:48: warning: `struct sk_buff' declared inside parameter list /usr/src/linux/include/net/protocol.h:53: warning: `struct inet6_skb_parm' declared inside parameter list /usr/src/linux/include/net/protocol.h:53: warning: `struct sk_buff' declared inside parameter list /usr/src/linux/include/net/protocol.h:63: error: field `list' has incomplete type IPv4.xs: In function `XS_IPTables__IPv4__Table_set_policy': IPv4.xs:329: warning: dereferencing type-punned pointer will break strict-aliasing rules make: *** [IPv4.o] Error 1 /usr/bin/make -- NOT OK Running make test Can't test without successful make Running make install make had returned bad status, install seems impossible