mylodon's failures in the back branches

Started by Tom Lanealmost 4 years ago4 messageshackers
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

The reason that mylodon has been failing in v10 and v11 for awhile
is that "-Werror=c99-extensions" breaks its test for <stdbool.h>:

configure:12708: checking for stdbool.h that conforms to C99
configure:12775: ccache clang-13 -c -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -O1 -ggdb -g3 -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-missing-field-initializers -Wno-array-bounds -std=c89 -Wc99-extensions -Werror=c99-extensions -D_GNU_SOURCE -I/usr/include/libxml2 conftest.c >&5
conftest.c:83:25: error: '_Bool' is a C99 extension [-Werror,-Wc99-extensions]
struct s { _Bool s: 1; _Bool t; } s;
^

which causes us to not use stdbool.h, which might be all right if you
weren't also specifying --with-icu.

What's not quite clear to me is what changed on mylodon to make it
start failing recently. Maybe you updated ICU to a version that
insists on importing <stdbool.h> in its headers?

regards, tom lane

#2Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#1)
Re: mylodon's failures in the back branches

Hi,

On 2022-05-02 23:18:20 -0400, Tom Lane wrote:

The reason that mylodon has been failing in v10 and v11 for awhile
is that "-Werror=c99-extensions" breaks its test for <stdbool.h>:

Was planning to send an email once I looked into it in a bit more detail...

configure:12708: checking for stdbool.h that conforms to C99
configure:12775: ccache clang-13 -c -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -Wno-compound-token-split-by-macro -g -O1 -ggdb -g3 -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-missing-field-initializers -Wno-array-bounds -std=c89 -Wc99-extensions -Werror=c99-extensions -D_GNU_SOURCE -I/usr/include/libxml2 conftest.c >&5
conftest.c:83:25: error: '_Bool' is a C99 extension [-Werror,-Wc99-extensions]
struct s { _Bool s: 1; _Bool t; } s;
^

which causes us to not use stdbool.h, which might be all right if you
weren't also specifying --with-icu.

How did you conclude that ICU is the problem? I didn't immediately find
anything in the buildfarm output indicating that's where the stdbool include
is coming from. Don't get me wrong, it's a plausible guess, just curious.

What's not quite clear to me is what changed on mylodon to make it
start failing recently. Maybe you updated ICU to a version that
insists on importing <stdbool.h> in its headers?

The machine is updated automatically. Looking at the package manager's log, it
indeed looks like ICU was updated around that time...

2022-04-24 06:52:10 install libicu71:amd64 <none> 71.1-2

Seems easiest to just change the configuration so that ICU isn't enabled for
10, 11? It's pretty reasonable to rely on it these days...

Greetings,

Andres Freund

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#2)
Re: mylodon's failures in the back branches

Andres Freund <andres@anarazel.de> writes:

On 2022-05-02 23:18:20 -0400, Tom Lane wrote:

which causes us to not use stdbool.h, which might be all right if you
weren't also specifying --with-icu.

How did you conclude that ICU is the problem? I didn't immediately find
anything in the buildfarm output indicating that's where the stdbool include
is coming from. Don't get me wrong, it's a plausible guess, just curious.

A bit of a leap I agree, but IIRC we have discovered in the past that
recent ICU headers require C99 bool.

Seems easiest to just change the configuration so that ICU isn't enabled for
10, 11? It's pretty reasonable to rely on it these days...

Yeah, that seemed like the most plausible answer to me too. The point
of the animal is to check C90 compatibility, not ICU compatibility.

regards, tom lane

#4Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#3)
Re: mylodon's failures in the back branches

Hi,

On 2022-05-03 00:24:09 -0400, Tom Lane wrote:

Andres Freund <andres@anarazel.de> writes:

On 2022-05-02 23:18:20 -0400, Tom Lane wrote:
Seems easiest to just change the configuration so that ICU isn't enabled for
10, 11? It's pretty reasonable to rely on it these days...

Yeah, that seemed like the most plausible answer to me too. The point
of the animal is to check C90 compatibility, not ICU compatibility.

Did that now - didn't suffice. Disabling libxml seems to do the trick though -
might still be ICU, just indirectly pulled in...

Greetings,

Andres Freund