Re: Build error in Solaris
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Wei Sun <936739278@qq.com>
Cc: pgsql-bugs <pgsql-bugs@lists.postgresql.org>, ilmari <ilmari@ilmari.org>
Date: 2022-02-08T12:28:09Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Remove ppport.h's broken re-implementation of eval_pv().
- 1a8b6f055567 10.21 landed
- 3a6e3a89022f 11.16 landed
- eba0f095c780 12.11 landed
- 5ea3b99de07b 13.7 landed
- e327291e4a96 14.3 landed
- d5c2a91e54cd 15.0 landed
"=?utf-8?B?V2VpIFN1bg==?=" <936739278@qq.com> writes: > When I built the latest code for branch REL_10_STABLE on the Solairs, > the following error occurred: > ------------------------------------------------------ > "plperl.c", line 669: syntax error before or at: if > "plperl.c", line 669: undefined symbol: _sv > "plperl.c", line 669: left operand of "->" must be pointer to struct/union > "plperl.c", line 669: warning: improper pointer/integer combination: arg #2 > "plperl.c", line 669: syntax error before or at: else > "plperl.c", line 670: warning: statement not reached > "plperl.c", line 678: cannot recover from previous errors > cc: acomp failed for plperl.c > gmake: *** [plperl.o] Error 2 > ------------------------------------------------------ Hm. I saw something similar on my old dinosaur pademelon, but wrote it off as "they don't care about pre-C99 compilers anymore". But now I dug into ppport.h a bit more, and I think it's actually busted for non-gcc compilers: eval_pv expands into something that tries to use STMT_START/STMT_END inside a plain parenthesized expression (via croak_sv). Maybe the bleeding edge Devel::PPPort would do better? I see Revision history for Devel-PPPort 3.64 - 2022-02-01 * Fix: better support for STMT_START / STMT_END definition * Fix: Only use '-Wdeclaration-after-statement' if possible which if not a smoking gun is at least firearm-adjacent. regards, tom lane