Bug 9451 - packatges/postgresql/postgresql.mk contains wrong POSTGRESQL_CONF_ENV
Summary: packatges/postgresql/postgresql.mk contains wrong POSTGRESQL_CONF_ENV
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: Peter Seiderer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-28 13:03 UTC by dde
Modified: 2016-11-30 19:28 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dde 2016-11-28 13:03:24 UTC
I'm building with the current build buildroot-2016.11-rc2.tar.gz and we experience an issue while executing the resulting PostgreSQL binary pg_dump, when we try to export a database which contains sequences:

ERROR LINE 1: ...nt_by, CASE WHEN increment_by > 0 AND max_value = %lldd THEN...

Look at the %lldd inside the query, which is wrongly built within pg_dump.

After some research I found this piece of code inside the PostgreSQL sources (https://github.com/postgres/postgres/blob/master/config/c-library.m4):

AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_MODIFIER],
[AC_MSG_CHECKING([snprintf length modifier for long long int])
AC_CACHE_VAL(pgac_cv_snprintf_long_long_int_modifier,
[for pgac_modifier in 'll' 'q' 'I64'; do
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
#include <string.h>
typedef long long int ac_int64;
#define INT64_FORMAT "%${pgac_modifier}d"

You see that the defined parameter pgac_cv_snprintf_long_long_int_modifier of the postgresql.mk is used here inside "%${pgac_modifier}d" which then results in:
%%lldd. After used with _snprintf, this results in %lldd, which is no valid parameter for _snprintf.

If I define pgac_cv_snprintf_long_long_int_modifier="ll" instead and rebuild the postgresql package, everything works fine!

Greetings,
Daniel
Comment 1 Peter Seiderer 2016-11-28 18:59:40 UTC
Hello Daniel,

thanks for the bug report (and specially for the detailed analysis).

Bug should be fixed (soon) with proposed patch (see [1])...

Regards,
Peter

[1] https://patchwork.ozlabs.org/patch/700115/