-
Notifications
You must be signed in to change notification settings - Fork 59
Build failure with PG15: src/rumsort.c:1316:38: error: too many arguments to function ‘LogicalTapeBackspace’ #107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
git pull
…On Fri, May 20, 2022 at 5:40 PM Christoph Berg ***@***.***> wrote:
21:36:33 ### PostgreSQL 15 loop ###
21:36:33 # 15: make
21:36:33 make[1]: Entering directory '/<<PKGBUILDDIR>>'
21:36:33 gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I. -I./ -I/usr/include/postgresql/15/server -I/usr/include/postgresql/internal -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2 -c -o src/rumsort.o src/rumsort.c
21:36:33 src/rumsort.c: In function ‘rum_tuplesort_gettuple_common’:
21:36:33 src/rumsort.c:1316:64: warning: passing argument 1 of ‘LogicalTapeBackspace’ from incompatible pointer type [-Wincompatible-pointer-types]
21:36:33 1316 | if (!LogicalTapeBackspace(state->tapeset,
21:36:33 | ~~~~~^~~~~~~~~
21:36:33 | |
21:36:33 | LogicalTapeSet *
21:36:33 In file included from src/rumsort.c:24:
21:36:33 /usr/include/postgresql/15/server/utils/logtape.h:72:49: note: expected ‘LogicalTape *’ but argument is of type ‘LogicalTapeSet *’
21:36:33 72 | extern size_t LogicalTapeBackspace(LogicalTape *lt, size_t size);
21:36:33 | ~~~~~~~~~~~~~^~
21:36:33 src/rumsort.c:1316:38: error: too many arguments to function ‘LogicalTapeBackspace’
21:36:33 1316 | if (!LogicalTapeBackspace(state->tapeset,
21:36:33 | ^~~~~~~~~~~~~~~~~~~~
21:36:33 In file included from src/rumsort.c:24:
21:36:33 /usr/include/postgresql/15/server/utils/logtape.h:72:15: note: declared here
21:36:33 72 | extern size_t LogicalTapeBackspace(LogicalTape *lt, size_t size);
21:36:33 | ^~~~~~~~~~~~~~~~~~~~
21:36:33 src/rumsort.c:1328:64: warning: passing argument 1 of ‘LogicalTapeBackspace’ from incompatible pointer type [-Wincompatible-pointer-types]
21:36:33 1328 | if (!LogicalTapeBackspace(state->tapeset,
21:36:33 | ~~~~~^~~~~~~~~
21:36:33 | |
21:36:33 | LogicalTapeSet *
21:36:33 In file included from src/rumsort.c:24:
21:36:33 /usr/include/postgresql/15/server/utils/logtape.h:72:49: note: expected ‘LogicalTape *’ but argument is of type ‘LogicalTapeSet *’
21:36:33 72 | extern size_t LogicalTapeBackspace(LogicalTape *lt, size_t size);
21:36:33 | ~~~~~~~~~~~~~^~
21:36:33 src/rumsort.c:1328:38: error: too many arguments to function ‘LogicalTapeBackspace’
21:36:33 1328 | if (!LogicalTapeBackspace(state->tapeset,
21:36:33 | ^~~~~~~~~~~~~~~~~~~~
...
Full build log:
https://pgdgbuild.dus.dg-i.net/view/Binaries-Beta/job/postgresql-rum-binaries-beta/15/architecture=amd64,distribution=sid/console
—
Reply to this email directly, view it on GitHub
<#107>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABQURYRXAS4ATTGQSOBBIX3VK6P7NANCNFSM5WPVYEVA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
--
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
|
Thanks. Could you tag that as a new release so I can update the Debian package? |
Stamped 1.3.10 Thanks! |
I'm afraid something broke there:
All PG versions (10..14) are affected. |
Tried to reproduce this on PG 14.0-14.3 I haven't found any faults. Can you try to clean and try again? Or please specify how do you build rum/Postgres and which branch states you use? |
I can reproduce the problem in several environments (notebook, Debian CI host, apt.postgresql.org buildd). Running directly on the 1.3.10 tag without the debian/ bits:
|
Can you tell me postgres branch state? I see 14.3-1+b1 and can not understand what's that state of 14 branch (tried the newest one, though and found no problems with it). I start to suppose some problem with PostgreSQL package you used. Have you tried PG built from source? Again I would continue trying to reproduce if knew PG branch state that fails. |
BTW looks similar to the problem reported (unrelated to RUM): https://www.postgresql.org/message-id/16555-de24d39c1e421f14%40postgresql.org |
I'm building PG from source all the time since I'm the one who puts the packages into Debian and apt.postgresql.org where 14.3-1+b1 is coming from. rum branch is the 1.3.10 tag. |
There is a reported problem with building Postgres with link-time-optimization i.e. -flto CFLAG (link above). Is it possible to disable it? |
I don't think LTO is being used in the PG builds; only the .bc files used for llvmjit are lto-ized, but neither the PG server build [1] nor the rum build [2]. [1] https://buildd.debian.org/status/fetch.php?pkg=postgresql-14&arch=amd64&ver=14.3-1%2Bb1&stamp=1652502731&raw=0 But it indeed looks like the problem is something in that direction. |
I guess the breaking change since 1.3.9 is that rum is now re-defining the tuplesort machinery from core PG. I don't understand yet why that's necessary, but at least the bit where it's overwriting the trace_sort GUC seems wrong (it should use the existing definition): https://github.com/postgrespro/rum/blob/master/src/tuplesort14.c#L140 |
Since this is a new issue independent from the original one, I've opened #108. |
Full build log: https://pgdgbuild.dus.dg-i.net/view/Binaries-Beta/job/postgresql-rum-binaries-beta/15/architecture=amd64,distribution=sid/console
The text was updated successfully, but these errors were encountered: