Package: libldns-dev Version: 1.2.1-2 Severity: normal Tags: upstream Including <libldns/libldns.h> is not enough to successfully compile a program which uses the libldns API. Viz:
[EMAIL PROTECTED]:~/code/test$ cat ldns.c #include <ldns/ldns.h> int main(void){ return 0; } [EMAIL PROTECTED]:~/code/test$ gcc -Wall -o ldns ldns.c In file included from /usr/include/ldns/ldns.h:94, from ldns.c:1: /usr/include/ldns/util.h:55: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ldns_read_uint16’ /usr/include/ldns/util.h:66: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ldns_read_uint32’ /usr/include/ldns/util.h:84: error: expected declaration specifiers or ‘...’ before ‘uint16_t’ /usr/include/ldns/util.h: In function ‘ldns_write_uint16’: /usr/include/ldns/util.h:89: error: ‘uint8_t’ undeclared (first use in this function) [...] uint8_t is defined in the C99 standard library header stdint.h, which is not included by any ldns header file. Including stdint.h gives: [EMAIL PROTECTED]:~/code/test$ cat ldns2.c #include <stdint.h> #include <ldns/ldns.h> int main(void){ return 0; } [EMAIL PROTECTED]:~/code/test$ gcc -Wall -o ldns2 ldns2.c In file included from /usr/include/ldns/ldns.h:95, from ldns2.c:2: /usr/include/ldns/buffer.h:163: error: expected declaration specifiers or ‘...’ before ‘ssize_t’ [...] Now we need another header for ssize_t: [EMAIL PROTECTED]:~/code/test$ cat ldns3.c #include <stdint.h> #include <sys/types.h> #include <ldns/ldns.h> int main(void){ return 0; } [EMAIL PROTECTED]:~/code/test$ gcc -Wall -o ldns3 ldns3.c [EMAIL PROTECTED]:~/code/test$ Upstream should include headers when types from those headers are used. -- Robert Edmonds [EMAIL PROTECTED]
signature.asc
Description: Digital signature