Re: BUG #15964: vacuumdb.c:187:10: error: use of undeclared identifier 'FD_SETSIZE'
Jungle Boogie <jungleboogie0@gmail.com>
From: "jungle boogie" <jungleboogie0@gmail.com>
To: "Andres Freund" <andres@anarazel.de>, "Tom Lane" <tgl@sss.pgh.pa.us>
Cc: <jungleboogie0@gmail.com>, <pgsql-bugs@lists.postgresql.org>, "Michael
Paquier" <michael@paquier.xyz>
Date: 2019-08-17T23:29:53Z
Lists: pgsql-bugs
On Sat Aug 17, 2019 at 3:41 PM Andres Freund wrote: > Hi, > > Heh, just discovered > https://www.postgresql.org/message-id/20160921171819.1357.29774%40wrigleys.postgresql.org > from the same reporter, where we went through this before :/ Oh, wow! Sorry I didn't remember that. Guess I didn't do a good enough job searching through the archives. > > > On 2019-08-17 17:59:05 -0400, Tom Lane wrote: > > Andres Freund <andres@anarazel.de> writes: > > > On 2019-08-17 16:31:01 -0400, Tom Lane wrote: > > >> PG Bug reporting form <noreply@postgresql.org> writes: > > >>> vacuumdb.c:184:26: error: use of undeclared identifier 'FD_SETSIZE' > > > > >> Hmm, it seems somebody removed the "#include <sys/select.h>" from > > >> that file, which was a pretty not-bright idea. > > > > > Most of the parallel code was move into bin/scripts/scripts_parallel.c - > > > but there's still the above error check. Seems like we ought to add a > > > ParallelSlotsMax() or such, and use that in the error check, rather than > > > check FD_SETSIZE directly? > > > > Yeah, that would likely be cleaner than just responding to this directly. > > I'll go and do that. > > > > >> But I wonder why the OpenBSD machines in the buildfarm aren't complaining. > > > > > Or even why it works on other platforms. > > > > Indeed. I've confirmed the bug report on a local OpenBSD 6.4 build > > (clang 6.0.0), and with "make -k" I can see that reindexdb.c fails > > likewise. But this is unsurprising given that POSIX says that > > FD_SETSIZE is declared by sys/select.h. > > Right. I noticed all the machines in your buildfarm are running OpenBSD 5.9 from March 2016 and I believe before clang was the default compiler. I'll see what I can find on local craigslist for inexpensive amd64 machines and then have it build Postgres. Thanks for the efforts you two have put into tracking this down.
Commits
-
Fix error handling of vacuumdb when running out of fds
- a21ec1a959ef 9.5.20 landed
- eb91b8ee6572 9.6.16 landed
- 4fca1460099e 10.11 landed
- 5d76c8037329 11.6 landed
- 63fc3b124008 12.0 landed
-
Fix error handling of vacuumdb and reindexdb when running out of fds
- 71d84efba714 13.0 landed
-
Fix compilation failure of vacuumdb and reindexdb with OpenBSD
- 56f8f9624ba0 13.0 landed
-
Improve Assert output
- d78d452bc5ac 13.0 cited
-
Refactor parallelization processing code in src/bin/scripts/
- 5f3840370b63 13.0 cited
-
vacuumdb: enable parallel mode
- a17923204736 9.5.0 cited