{"action":"created","issue":{"url":"https://api.github.com/repos/confluentinc/bottledwater-pg/issues/49","repository_url":"https://api.github.com/repos/confluentinc/bottledwater-pg","labels_url":"https://api.github.com/repos/confluentinc/bottledwater-pg/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/confluentinc/bottledwater-pg/issues/49/comments","events_url":"https://api.github.com/repos/confluentinc/bottledwater-pg/issues/49/events","html_url":"https://github.com/confluentinc/bottledwater-pg/issues/49","id":130781690,"number":49,"title":"Can't build against libpq 9.5.x headers","user":{"login":"samstokes","id":20528,"avatar_url":"https://avatars.githubusercontent.com/u/20528?v=3","gravatar_id":"","url":"https://api.github.com/users/samstokes","html_url":"https://github.com/samstokes","followers_url":"https://api.github.com/users/samstokes/followers","following_url":"https://api.github.com/users/samstokes/following{/other_user}","gists_url":"https://api.github.com/users/samstokes/gists{/gist_id}","starred_url":"https://api.github.com/users/samstokes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samstokes/subscriptions","organizations_url":"https://api.github.com/users/samstokes/orgs","repos_url":"https://api.github.com/users/samstokes/repos","events_url":"https://api.github.com/users/samstokes/events{/privacy}","received_events_url":"https://api.github.com/users/samstokes/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/confluentinc/bottledwater-pg/labels/postgres-9.5","name":"postgres-9.5","color":"bfd4f2"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-02T19:00:33Z","updated_at":"2016-04-26T00:07:11Z","closed_at":"2016-04-26T00:07:11Z","body":"Attempting to build the Bottled Water client against libpq version 9.5.0 produces some messy syntax errors:\r\n\r\n```\r\nIn file included from replication.c:13:0:\r\n/usr/include/postgresql/internal/pqexpbuffer.h:149:13: warning: no previous prototype for ‘printfPQExpBuffer’ [-Wmissing-prototypes]                                                                                                  \r\n extern void printfPQExpBuffer(PQExpBuffer str, const char *fmt,...) pg_attribute_printf(2, 3);                                                                                                                                       \r\n             ^                                                                                                                                                                                                                        \r\n/usr/include/postgresql/internal/pqexpbuffer.h: In function ‘printfPQExpBuffer’:                                                                                                                                                      \r\n/usr/include/postgresql/internal/pqexpbuffer.h:149:69: error: expected declaration specifiers before ‘pg_attribute_printf’                                                                                                            \r\n extern void printfPQExpBuffer(PQExpBuffer str, const char *fmt,...) pg_attribute_printf(2, 3);                                                                                                                                       \r\n                                                                     ^                                                                                                                                                                \r\n/usr/include/postgresql/internal/pqexpbuffer.h:158:69: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘pg_attribute_printf’                                                                                           \r\n extern void appendPQExpBuffer(PQExpBuffer str, const char *fmt,...) pg_attribute_printf(2, 3);                                                                                                                                       \r\n                                                                     ^                                                                                                                                                                \r\n/usr/include/postgresql/internal/pqexpbuffer.h:165:13: error: storage class specified for parameter ‘appendPQExpBufferStr’                                                                                                            \r\n extern void appendPQExpBufferStr(PQExpBuffer str, const char *data);                                                                                                                                                                 \r\n             ^                                                                                                                                                                                                                        \r\n/usr/include/postgresql/internal/pqexpbuffer.h:172:13: error: storage class specified for parameter ‘appendPQExpBufferChar’                                                                                                           \r\n extern void appendPQExpBufferChar(PQExpBuffer str, char ch);                                                                                                                                                                         \r\n             ^                                                                                                                                                                                                                        \r\n/usr/include/postgresql/internal/pqexpbuffer.h:179:13: error: storage class specified for parameter ‘appendBinaryPQExpBuffer’                                                                                                         \r\n extern void appendBinaryPQExpBuffer(PQExpBuffer str,                                                                                                                                                                                 \r\n             ^                                                                                                                                                                                                                        \r\nreplication.c:45:58: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token                                                                                                                                         \r\n int replication_slot_create(replication_stream_t stream) {                                                                                                                                                                           \r\n                                                          ^                                                                                                                                                                           \r\nreplication.c:97:56: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token                                                                                                                                         \r\n int replication_slot_drop(replication_stream_t stream) {\r\n\r\n...\r\n```\r\n\r\n(See #48 for complete compile trace, but the C compiler is sufficiently confused after the first error that the subsequent parse errors are pretty meaningless.)\r\n\r\nThis seems to be due to some change to function attribute macros that we aren't prepared for.\r\n\r\nCurrently the workaround is to simply build against libpq 9.4.x, although I haven't confirmed whether we can talk to a Postgres 9.5 server in this configuration."},"comment":{"url":"https://api.github.com/repos/confluentinc/bottledwater-pg/issues/comments/214568511","html_url":"https://github.com/confluentinc/bottledwater-pg/issues/49#issuecomment-214568511","issue_url":"https://api.github.com/repos/confluentinc/bottledwater-pg/issues/49","id":214568511,"user":{"login":"samstokes","id":20528,"avatar_url":"https://avatars.githubusercontent.com/u/20528?v=3","gravatar_id":"","url":"https://api.github.com/users/samstokes","html_url":"https://github.com/samstokes","followers_url":"https://api.github.com/users/samstokes/followers","following_url":"https://api.github.com/users/samstokes/following{/other_user}","gists_url":"https://api.github.com/users/samstokes/gists{/gist_id}","starred_url":"https://api.github.com/users/samstokes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/samstokes/subscriptions","organizations_url":"https://api.github.com/users/samstokes/orgs","repos_url":"https://api.github.com/users/samstokes/repos","events_url":"https://api.github.com/users/samstokes/events{/privacy}","received_events_url":"https://api.github.com/users/samstokes/received_events","type":"User","site_admin":false},"created_at":"2016-04-26T00:07:11Z","updated_at":"2016-04-26T00:07:11Z","body":"This seems to have fixed itself.  #59 appears to make the build work under Postgres 9.5."}}