Thread
Commits
-
MSVC builds must use a separate stamp file for copying generated headers.
- a194106c1b44 11.0 landed
-
Switch client-side code to include catalog/pg_foo_d.h not pg_foo.h.
- 9c0a0de4c91b 11.0 cited
-
master fails to build on Windows
Sandeep Thakkar <sandeep.thakkar@enterprisedb.com> — 2018-05-18T09:29:38Z
Hi I was building the sources I got from https://www.postgresql.org/ ftp/snapshot/dev/ on Windows x64 and got the whole bunch of errors like "*Cannot open include file: 'catalog/pg_type_d.h"* , *"Cannot open include file: 'catalog/pg_tablespace_d.h'" . *I've attached the log. The renaming was done as part of following commit, but the location where *_d.h are present is not included in INCLUDE. Example: pg_type.h is present at *src/include/catalog/ *and pg_type_d.h is present at *src/backend/catalog/*. I added the required path in MSBuildProject.pm and the build is passed. Here is the diff: 298c298 < <AdditionalIncludeDirectories>$self->{prefixincludes}src/ include;src/include/port/win32;src/include/port/win32_msvc;$includes\%( AdditionalIncludeDirectories)</AdditionalIncludeDirectories> --- > <AdditionalIncludeDirectories>$self->{prefixincludes}src/ include;src/backend;src/include/port/win32;src/include/port/win32_msvc;$ includes\%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> commit 9c0a0de4c91b2dc911220d769cf2c5f754cfcb90 Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Sun Apr 8 13:59:52 2018 -0400 -- Sandeep Thakkar -
Re: master fails to build on Windows
John Naylor <jcnaylor@gmail.com> — 2018-05-18T11:49:15Z
On 5/18/18, Sandeep Thakkar <sandeep.thakkar@enterprisedb.com> wrote: > Hi > > I was building the sources I got from https://www.postgresql.org/ > ftp/snapshot/dev/ on Windows x64 and got the whole bunch of errors > like "*Cannot > open include file: 'catalog/pg_type_d.h"* , *"Cannot open include file: > 'catalog/pg_tablespace_d.h'" . *I've attached the log. I'm thinking the include/catalog/pg_*_d.h headers got dist-cleaned when creating the snapshot, and the build script doesn't know to copy them over. If you're able to test, does the attached patch fix the issue? (This may not be the right permanent fix, but hopefully it will confirm my suspicion) -John Naylor
-
Re: master fails to build on Windows
Tom Lane <tgl@sss.pgh.pa.us> — 2018-05-18T15:29:55Z
John Naylor <jcnaylor@gmail.com> writes: > On 5/18/18, Sandeep Thakkar <sandeep.thakkar@enterprisedb.com> wrote: >> I was building the sources I got from https://www.postgresql.org/ >> ftp/snapshot/dev/ on Windows x64 and got the whole bunch of errors >> like "*Cannot >> open include file: 'catalog/pg_type_d.h"* , *"Cannot open include file: >> 'catalog/pg_tablespace_d.h'" . *I've attached the log. > I'm thinking the include/catalog/pg_*_d.h headers got dist-cleaned > when creating the snapshot, and the build script doesn't know to copy > them over. If you're able to test, does the attached patch fix the > issue? (This may not be the right permanent fix, but hopefully it will > confirm my suspicion) Mmm, yeah, this is clearly an oversight. I think we (or at least I) figured it was okay to skip the separate stamp file and test for the install-the-headers step because the Windows scripts didn't have a way to blow away the include/ headers without deleting the underlying backend/ headers --- but looking closer at clean.bat, that's quite wrong. clean.bat will do it by default :-(. So I think the snapshot was probably fine, but Sandeep ran clean.bat and then things weren't fine. It seems like clean.bat's default behavior doesn't correspond very well to any of the three cleaning levels that the Makefiles understand, while its "dist" behavior seems to be "make maintainer-clean", not "make distclean" as one might expect. Maybe that's something to improve someday, but right now is probably not the time. In the meantime, I think your patch is a good idea whether or not this is the right explanation for Sandeep's problem. The closer the Windows and Unix build rules are, the better. regards, tom lane
-
Re: master fails to build on Windows
Sandeep Thakkar <sandeep.thakkar@enterprisedb.com> — 2018-05-18T16:41:18Z
On Fri, May 18, 2018 at 5:19 PM, John Naylor <jcnaylor@gmail.com> wrote: > On 5/18/18, Sandeep Thakkar <sandeep.thakkar@enterprisedb.com> wrote: > > Hi > > > > I was building the sources I got from https://www.postgresql.org/ > > ftp/snapshot/dev/ on Windows x64 and got the whole bunch of errors > > like "*Cannot > > open include file: 'catalog/pg_type_d.h"* , *"Cannot open include file: > > 'catalog/pg_tablespace_d.h'" . *I've attached the log. > > I'm thinking the include/catalog/pg_*_d.h headers got dist-cleaned > when creating the snapshot, and the build script doesn't know to copy > them over. If you're able to test, does the attached patch fix the > issue? (This may not be the right permanent fix, but hopefully it will > confirm my suspicion) > > yes, the patch fixes the issue. Thanks. > -John Naylor > -- Sandeep Thakkar EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company