libcap has to be installed befor emerging knock Reproducible: Always Steps to Reproduce: 1. emerge knock 2. 3. Actual Results: [...] src/knockd.c:47:18: pcap.h: No such file or directory src/knockd.c:93: warning: `struct pcap_pkthdr' declared inside parameter list src/knockd.c:93: warning: its scope is only this definition or declaration, which is probably not what you want src/knockd.c:95: error: syntax error before '*' token src/knockd.c:95: warning: type defaults to `int' in declaration of `cap' src/knockd.c:95: error: ISO C forbids data definition with no type or storage class src/knockd.c: In function `main': src/knockd.c:109: error: `PCAP_ERRBUF_SIZE' undeclared (first use in this function) src/knockd.c:109: error: (Each undeclared identifier is reported only once src/knockd.c:109: error: for each function it appears in.) src/knockd.c:159: warning: implicit declaration of function `pcap_open_live' src/knockd.c:159: warning: assignment makes pointer from integer without a cast src/knockd.c:193: warning: implicit declaration of function `pcap_dispatch' src/knockd.c:196: warning: implicit declaration of function `pcap_perror' src/knockd.c:109: warning: unused variable `pcapErr' src/knockd.c: In function `cleanup': src/knockd.c:252: warning: implicit declaration of function `pcap_close' src/knockd.c: At top level: src/knockd.c:498: warning: `struct pcap_pkthdr' declared inside parameter list src/knockd.c:499: error: conflicting types for `sniff' src/knockd.c:93: error: previous declaration of `sniff' src/knockd.c: In function `sniff': src/knockd.c:512: error: dereferencing pointer to incomplete type src/knockd.c:520: warning: ISO C forbids braced-groups within expressions src/knockd.c:543: warning: ISO C forbids braced-groups within expressions src/knockd.c:544: warning: ISO C forbids braced-groups within expressions src/knockd.c:549: warning: ISO C forbids braced-groups within expressions src/knockd.c:550: warning: ISO C forbids braced-groups within expressions src/knockd.c:573: error: dereferencing pointer to incomplete type make: *** [src/knockd.o] Error 1 make: *** Waiting for unfinished jobs.... !!! ERROR: net-misc/knock-0.1 failed. !!! Function src_compile, Line 415, Exitcode 2 !!! emake failed Expected Results: >>> net-misc/knock-0.1 merged. ;)
This has been fixed in the knock-0.3 ebuild (marked unstable), but not in knock-0.1. Here is the relevant part of the ebuild ChangeLog: 03 Jul 2004; <pyrania@gentoo.org> knock-0.3.ebuild: Depending on net-libs/libpcap. Closing bug #55131. Looks like someone is going to increase their fixed-bug-count quite easily... ;-)
I'm going to add it to -0.1 instead of marking -0.3 stable (which I would prefer), because of the non-blocking TCP patch of yours which I just committed.