On 2019-06-17 16:01:57 -0300, Leandro Guimarães wrote: > I've installed all dependencies, but when I try to "make install" in > pg_bulkload folder if have some errors like this: > > In file included from pgut/pgut.h:24:0, > from pgut/pgut-fe.h:13, > from pg_bulkload.c:17: > /usr/include/postgresql/internal/pqexpbuffer.h:149:13: error: old-style > parameter declarations in prototyped function definition > extern void printfPQExpBuffer(PQExpBuffer str, const char *fmt,...) > pg_attribute_printf(2, 3); > ^ > pg_bulkload.c:743:1: error: expected ‘{’ at end of input > > > My OS is Ubuntu Server 14.04 and PostgreSQL 9.4. I've searched about > theses errors but it ways advice to change the C code in files but I'm > not sure to do this in a tool like pg_bulkload. The error message is misleading. There is no old-style parameter declaration here. My guess is that the definition for the macro pg_attribute_printf is missing, and without that definition this is a syntax error (which the compiler reports although it seems to be confused about the nature of the error). In postgresql-9.5 (haven't 9.4 and am too lazy to download it) pg_attribute_printf is defined in "c.h". I guess that this must be explicitely included in 9.4 but is implicitely included in versions that the author of pg_bulkload tested. You could try just to insert #include "c.h" before line 17 of pg_bulkload.c. But ultimately you should report this incompatibility to the author(s) of pg_bulkload. hp -- _ | Peter J. Holzer | we build much bigger, better disasters now |_|_) | | because we have much more sophisticated | | | hjp@xxxxxx | management tools. __/ | http://www.hjp.at/ | -- Ross Anderson <https://www.edge.org/>
Attachment:
signature.asc
Description: PGP signature