Thread: mylodon's failures in the back branches
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
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
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
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