Обсуждение: Compiler warnings on Debian 10

Поиск
Список
Период
Сортировка

Compiler warnings on Debian 10

От
"Daniel Westermann (DWE)"
Дата:
HI,

I was wondering if someone already has seen these warnings on Debian 10 (PostgreSQL 13.1):

../../../../src/include/port.h:176:70: warning: 'format' attribute argument not supported: gnu_printf
      [-Wignored-attributes]
extern int      pg_snprintf(char *str, size_t count, const char *fmt,...) pg_attribute_printf(3, 4);
                                                                          ^
../../../../src/include/c.h:127:49: note: expanded from macro 'pg_attribute_printf'
#define pg_attribute_printf(f,a) __attribute__((format(PG_PRINTF_ATTRIBUTE, f, a)))
                                                ^
In file included from llvmjit_error.cpp:19:
In file included from ../../../../src/include/postgres.h:46:
In file included from ../../../../src/include/c.h:1318:
../../../../src/include/port.h:178:55: warning: 'format' attribute argument not supported: gnu_printf
      [-Wignored-attributes]
extern int      pg_sprintf(char *str, const char *fmt,...) pg_attribute_printf(2, 3);
                                                           ^
../../../../src/include/c.h:127:49: note: expanded from macro 'pg_attribute_printf'
#define pg_attribute_printf(f,a) __attribute__((format(PG_PRINTF_ATTRIBUTE, f, a)))
                                                ^
In file included from llvmjit_error.cpp:19:
In file included from ../../../../src/include/postgres.h:46:
In file included from ../../../../src/include/c.h:1318:
../../../../src/include/port.h:180:58: warning: 'format' attribute argument not supported: gnu_printf
      [-Wignored-attributes]
extern int      pg_fprintf(FILE *stream, const char *fmt,...) pg_attribute_printf(2, 3);
                                                              ^

Configure was successful:
...
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating src/Makefile.global
config.status: creating src/include/pg_config.h
config.status: creating src/include/pg_config_ext.h
config.status: creating src/interfaces/ecpg/include/ecpg_config.h
config.status: linking src/backend/port/tas/dummy.s to src/backend/port/tas.s
config.status: linking src/backend/port/posix_sema.c to src/backend/port/pg_sema.c
config.status: linking src/backend/port/sysv_shmem.c to src/backend/port/pg_shmem.c
config.status: linking src/include/port/linux.h to src/include/pg_config_os.h
config.status: linking src/makefiles/Makefile.linux to src/Makefile.port


This is the official Debian AMI on AWS:
postgres@pg13:~/postgresql-13.1$ cat /etc/debian_version
10.8

Regards
Daniel


Re: Compiler warnings on Debian 10

От
Tom Lane
Дата:
"Daniel Westermann (DWE)" <daniel.westermann@dbi-services.com> writes:
> I was wondering if someone already has seen these warnings on Debian 10 (PostgreSQL 13.1):

> ../../../../src/include/port.h:176:70: warning: 'format' attribute argument not supported: gnu_printf
>       [-Wignored-attributes]

Huh.  What compiler are you using, exactly?  Perhaps you used a different
compiler when running configure (or are trying to re-use configure results
from some other machine)?

            regards, tom lane



Re: Compiler warnings on Debian 10

От
"Daniel Westermann (DWE)"
Дата:
"Daniel Westermann (DWE)" <daniel.westermann@dbi-services.com> writes:
> I was wondering if someone already has seen these warnings on Debian 10 (PostgreSQL 13.1):

> ../../../../src/include/port.h:176:70: warning: 'format' attribute argument not supported: gnu_printf
>       [-Wignored-attributes]

>Huh.  What compiler are you using, exactly? 

Nothing special. Configure and make log attached. The same procedure works fine on my local Debian 10.7.

postgres@pg13:/home/postgres/postgresql-13.1/ [pg131] gcc --version
gcc (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


>Perhaps you used a different
>compiler when running configure (or are trying to re-use configure results
>from some other machine)?

No, definitely not, that was a fresh configure/make.

Regards
Daniel
Вложения

Re: Compiler warnings on Debian 10

От
Tom Lane
Дата:
"Daniel Westermann (DWE)" <daniel.westermann@dbi-services.com> writes:
> "Daniel Westermann (DWE)" <daniel.westermann@dbi-services.com> writes:
>>> I was wondering if someone already has seen these warnings on Debian 10 (PostgreSQL 13.1):

>>> ../../../../src/include/port.h:176:70: warning: 'format' attribute argument not supported: gnu_printf
>>>        [-Wignored-attributes]

>> Huh.  What compiler are you using, exactly? 

> Nothing special. Configure and make log attached. The same procedure works fine on my local Debian 10.7.

Quite odd.  The configure output clearly shows that it thought gnu_printf
is fine:

checking for printf format archetype... gnu_printf

Possibly the corresponding section of config.log would provide more
insight.

            regards, tom lane



Re: Compiler warnings on Debian 10

От
"Daniel Westermann (DWE)"
Дата:
>> Nothing special. Configure and make log attached. The same procedure works fine on my local Debian 10.7.

>Quite odd.  The configure output clearly shows that it thought gnu_printf
>is fine:

>checking for printf format archetype... gnu_printf

>Possibly the corresponding section of config.log would provide more
>insight.

Please find it attached.

Regards
Daniel
Вложения

Re: Compiler warnings on Debian 10

От
Tom Lane
Дата:
Looking at things more closely, I realize that the warnings are not
showing up in most compiles (if they were, you'd have many more of
them).  They are only showing up in the llvmjit_*.cpp files, which
need to be built with a C++ compiler not gcc.  I can see in your
make log that those are getting built with "c++", so now I wonder
exactly which compiler that is.

You could probably suppress these complaints by passing "CXX=g++"
to configure.  Or at least, you could if g++ was installed, but
I think configure will default to that if it can find it...

            regards, tom lane