The cproto command does not work as espected. If any "#include <>" statement is present in the source file, an error is returned, an easy way to reproduce the error is: bash$ echo "#include <stdio.h>" | cproto - /* - */ "/usr/include/bits/types.h", line 37: syntax error at token 'typedef' while, if a preprocessor is specified, the error vanishes: bash$ echo "#include <stdio.h>" | cproto -E/lib/cpp - /* - */ This is strange since, according the manual, /lib/cpp should be the default value for option -E. The strace of the first executions ends in a SIGSEV: ... read(3, "\n\n\n \n\n\n\n\n \ntypedef struct\n {\n "..., 4096) = 4096 write(2, "\"/usr/include/bits/types.h\", lin"..., 38"/usr/include/bits/types.h", line 37: ) = 38 write(2, "syntax error at token \'typedef\'\n", 32syntax error at token 'typedef' ) = 32 --- SIGSEGV (Segmentation fault) --- +++ killed by SIGSEGV +++ Not a big problem (-E/lib/cpp solves it), but somehow annoyng... Massimo Santini P.S. These are the relevant packages I have installed: cproto-4.6-2 (containing cproto itself) glibc-devel-2.1.2-11 (containing the include files) cpp-1.1.2-24 (containing cpp)
Fixed in cproto-4.6-3.