In current sources, ecpg doesn't compile anymore:
make[3]: Entering directory `/home/postgres/pgsql/src/interfaces/ecpg/lib'
make[3]: *** No rule to make target `dynamic.c', needed by `ecpglib.o'.
gcc -I../../../include -I../../../backend -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -O -g -I../include
-I../../../interfaces/libpq-fPIC -c -o typename.o typename.c
gcc -I../../../include -I../../../backend -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -O -g -I../include
-I../../../interfaces/libpq-fPIC -c -o descriptor.o descriptor.c
descriptor.c: In function `get_char_item':
descriptor.c:131: dereferencing pointer to incomplete type
descriptor.c:133: dereferencing pointer to incomplete type
descriptor.c:135: dereferencing pointer to incomplete type
descriptor.c:136: dereferencing pointer to incomplete type
descriptor.c:137: dereferencing pointer to incomplete type
make[3]: *** [descriptor.o] Error 1
(similar errors in several additional source files)
regards, tom lane