I'm in the process of changing linux-igd to use libiptc instead of iptables commands. (Can be enabled by a makefile option). The problem I'm hitting is, that it tries to link with libiptc. Here is the output from make: gcc -Wall -g -O2 -I/usr/include -I../include -I/usr/include -DHAVE_LIBIPTC -D_GNU_SOURCE -c main.c gcc -Wall -g -O2 -I/usr/include -I../include -I/usr/include -DHAVE_LIBIPTC -D_GNU_SOURCE -c gatedevice.c gcc -Wall -g -O2 -I/usr/include -I../include -I/usr/include -DHAVE_LIBIPTC -D_GNU_SOURCE -c pmlist.c gcc -Wall -g -O2 -I/usr/include -I../include -I/usr/include -DHAVE_LIBIPTC -D_GNU_SOURCE -c util.c gcc -Wall -g -O2 -I/usr/include -I../include -I/usr/include -DHAVE_LIBIPTC -D_GNU_SOURCE -c config.c gcc -Wall -g -O2 -I/usr/include -I../include -I/usr/include -DHAVE_LIBIPTC -D_GNU_SOURCE -c iptc.c gcc -Wall -g -O2 main.o gatedevice.o pmlist.o util.o config.o iptc.o -lpthread -lupnp -lixml -lthreadutil -L/usr/lib -L../libs -L/usr/lib -liptc -o upnpd /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld: cannot find -liptc collect2: ld returned 1 exit status make: *** [upnpd] Error 1 From what I can read on other pages, iptables should include the libiptc library (it has the headers for it).
http://www.netfilter.org/documentation/FAQ/netfilter-faq-4.html#ss4.5 Basically libiptc isn't meant to be a public interface. Maybe we should stop installing the headers somehow....