When compiling ipp2p-0.8.2-r4 this error occurs : >>> Compiling source in /var/tmp/portage/net-firewall/ipp2p-0.8.2-r4/work/ipp2p-0.8.2 ... x86_64-pc-linux-gnu-gcc -march=native -mtune=native -O3 -pipe -msse3 -finline-functions -ftree-vectorize -fno-ident -fweb -fstack-protector -fomit-frame-pointer -funroll-all-loops -freschedule-modulo-scheduled-loops -DIPTABLES_VERSION=\"1.4.0\" -I/usr/include -fPIC -c libipt_ipp2p.c libipt_ipp2p.c:9:22: erreur: iptables.h : Aucun fichier ou répertoire de ce type libipt_ipp2p.c:67: attention : ‘struct ipt_entry_match’ declared inside parameter list libipt_ipp2p.c:67: attention : visible uniquement depuis cette définition ou déclaration, ce qui n'est probablement pas ce que vous désirez libipt_ipp2p.c: In function ‘init’: libipt_ipp2p.c:69: erreur: déréférencement d'un pointeur de type incomplet libipt_ipp2p.c:71: erreur: ‘NFC_UNKNOWN’ undeclared (first use in this function) libipt_ipp2p.c:71: erreur: (Each undeclared identifier is reported only once libipt_ipp2p.c:71: erreur: for each function it appears in.) libipt_ipp2p.c: Hors de toute fonction : libipt_ipp2p.c:84: attention : ‘struct ipt_entry_match’ declared inside parameter list libipt_ipp2p.c:84: attention : ‘struct ipt_entry’ declared inside parameter list libipt_ipp2p.c: In function ‘parse’: libipt_ipp2p.c:86: erreur: déréférencement d'un pointeur de type incomplet libipt_ipp2p.c:91: erreur: ‘PARAMETER_PROBLEM’ undeclared (first use in this function) libipt_ipp2p.c: In function ‘final_check’: libipt_ipp2p.c:311: erreur: ‘PARAMETER_PROBLEM’ undeclared (first use in this function) libipt_ipp2p.c: Hors de toute fonction : libipt_ipp2p.c:320: attention : ‘struct ipt_entry_match’ declared inside parameter list libipt_ipp2p.c:320: attention : ‘struct ipt_ip’ declared inside parameter list libipt_ipp2p.c: In function ‘print’: libipt_ipp2p.c:322: erreur: déréférencement d'un pointeur de type incomplet libipt_ipp2p.c: Hors de toute fonction : libipt_ipp2p.c:350: attention : ‘struct ipt_entry_match’ declared inside parameter list libipt_ipp2p.c:350: attention : ‘struct ipt_ip’ declared inside parameter list libipt_ipp2p.c: In function ‘save’: libipt_ipp2p.c:352: erreur: déréférencement d'un pointeur de type incomplet libipt_ipp2p.c: Hors de toute fonction : libipt_ipp2p.c:379: erreur: variable ‘ipp2p’ has initializer but incomplete type libipt_ipp2p.c:381: erreur: unknown field ‘next’ specified in initializer libipt_ipp2p.c:381: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:381: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:382: erreur: unknown field ‘name’ specified in initializer libipt_ipp2p.c:382: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:382: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:383: erreur: unknown field ‘version’ specified in initializer libipt_ipp2p.c:383: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:383: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:384: erreur: unknown field ‘size’ specified in initializer libipt_ipp2p.c:384: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:384: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:385: erreur: unknown field ‘userspacesize’ specified in initializer libipt_ipp2p.c:385: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:385: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:386: erreur: unknown field ‘help’ specified in initializer libipt_ipp2p.c:386: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:386: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:387: erreur: unknown field ‘init’ specified in initializer libipt_ipp2p.c:387: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:387: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:388: erreur: unknown field ‘parse’ specified in initializer libipt_ipp2p.c:388: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:388: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:389: erreur: unknown field ‘final_check’ specified in initializer libipt_ipp2p.c:389: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:389: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:390: erreur: unknown field ‘print’ specified in initializer libipt_ipp2p.c:390: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:390: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:391: erreur: unknown field ‘save’ specified in initializer libipt_ipp2p.c:391: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:391: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:392: erreur: unknown field ‘extra_opts’ specified in initializer libipt_ipp2p.c:393: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:393: attention : (near initialization for ‘ipp2p’) make: *** [libipt_ipp2p.so] Erreur 1 * * ERROR: net-firewall/ipp2p-0.8.2-r4 failed. * Call stack: * ebuild.sh, line 46: Called src_compile * environment, line 3149: Called die * The specific snippet of code: * emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" IPTABLES_SRC="/usr" IPTABLES_VERSION="${IPTABLES_VERSION}" libipt_ipp2p.so || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to build iptables module"; Reproducible: Always
Created attachment 139614 [details] emerge log
Created attachment 139615 [details] emerge --info
<snip> CFLAGS="-march=native -mtune=native -O3 -pipe -msse3 -finline-functions -ftree-vectorize -fno-ident -fweb -fstack-protector -fomit-frame-pointer -funroll-all-loops -freschedule-modulo-scheduled-loops" </snip> Your box must be definitely glowing! Sigh, stop ricing... :( > erreur: iptables.h : Aucun fichier ou répertoire de ce type Do you have iptables installed? Which version? Did you try to re-emerge it? (And please set your locales to C when reporting bugs).
(In reply to comment #3) > > > erreur: iptables.h : Aucun fichier ou répertoire de ce type > > Do you have iptables installed? Which version? Did you try to re-emerge it? > (And please set your locales to C when reporting bugs). > Yes Jakub, iptables-1.4.0 is installed on my system and the re-emerge don't improve the compilation's error for ipp2p. Perhaps is it related to kernel configuration ? I am searching for this (dark) side (of the force).
Hmmm...
Jakub, Do I have to patch my kernel gentoo-sources-2.6.23-r5 with patch-o-matic, or is it include in the gentoo-sources ?
It seems that ipp2p needs iptables's sources to compile but theses sources are not installed when emerging iptables
iptables-1.4.0 no longer installs the much needed header files. Anyone know why?
should be fixed with 1.4.0-r1
Please Jakub, Reopen this bug, the iptables headers installed by new ebuild iptables-1.4.0-r1 seem not to be sufficient for the ipp2p compilation, see : x86_64-pc-linux-gnu-gcc -march=native -mtune=native -O3 -pipe -msse3 -finline-functions -ftree-vectorize -fno-ident -fweb -fstack-protector -fomit-frame-pointer -funroll-all-loops -freschedule-modulo-scheduled-loops -DIPTABLES_VERSION=\"1.4.0\" -I/usr/include -fPIC -c libipt_ipp2p.c Dans le fichier inclus à partir de /usr/include/iptables.h:4, à partir de libipt_ipp2p.c:9: /usr/include/xtables.h:7:28: erreur: libiptc/libxtc.h : Aucun fichier ou répertoire de ce type In file included from /usr/include/iptables.h:4, from libipt_ipp2p.c:9: /usr/include/xtables.h:65: erreur: expected specifier-qualifier-list before ‘xt_chainlabel’ /usr/include/xtables.h:121: erreur: expected specifier-qualifier-list before ‘xt_chainlabel’ libipt_ipp2p.c:382: erreur: unknown field ‘name’ specified in initializer libipt_ipp2p.c:382: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:382: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:383: erreur: unknown field ‘version’ specified in initializer libipt_ipp2p.c:383: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:383: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:384: erreur: unknown field ‘size’ specified in initializer libipt_ipp2p.c:384: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:384: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:385: erreur: unknown field ‘userspacesize’ specified in initializer libipt_ipp2p.c:385: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:385: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:386: erreur: unknown field ‘help’ specified in initializer libipt_ipp2p.c:386: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:386: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:387: erreur: unknown field ‘init’ specified in initializer libipt_ipp2p.c:387: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:387: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:388: erreur: unknown field ‘parse’ specified in initializer libipt_ipp2p.c:388: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:388: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:389: erreur: unknown field ‘final_check’ specified in initializer libipt_ipp2p.c:389: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:389: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:390: erreur: unknown field ‘print’ specified in initializer libipt_ipp2p.c:390: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:390: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:391: erreur: unknown field ‘save’ specified in initializer libipt_ipp2p.c:391: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:391: attention : (near initialization for ‘ipp2p’) libipt_ipp2p.c:392: erreur: unknown field ‘extra_opts’ specified in initializer libipt_ipp2p.c:393: attention : éléments en excès dans l'initialisation de la structure libipt_ipp2p.c:393: attention : (near initialization for ‘ipp2p’) make: *** [libipt_ipp2p.so] Erreur 1 * * ERROR: net-firewall/ipp2p-0.8.2-r4 failed. * Call stack: * ebuild.sh, line 46: Called src_compile * environment, line 3150: Called die * The specific snippet of code: * emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)" IPTABLES_SRC="/usr" IPTABLES_VERSION="${IPTABLES_VERSION}" libipt_ipp2p.so || diefunc "$FUNCNAME" "$LINENO" "$?" "Failed to build iptables module";
see comment #10
I think that libxtc.h file has to be installed in /usr/include/libiptc/ directory by iptables emerge.
i had it installing that file but must have reverted that along the way fixed in cvs
not so fast... now ipp2p compiles with warnings and segfaults on "iptables -m ipp2p" execution. ipp2p source must be adapted for the new iptables.
*shrug* this is a build error bug, not a runtime segfault if it builds now, nothing for base-system
Fixed in cvs without revision bumping. The solution isn't the most elegant (the patch is applied only on boxes with iptables-1.4.0 or above), but it should do the job.