On 5/18/18, Sandeep Thakkar <sandeep.thak...@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
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index 4ad1f8f..a33e68e 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -501,7 +501,12 @@ EOF || confess "Could not touch bki-stamp"; close($f); chdir('../../..'); + } + if (IsNewer( + 'src/include/catalog/header-stamp', + 'src/backend/catalog/bki-stamp')) + { # Copy generated headers to include directory. opendir(my $dh, 'src/backend/catalog/') || die "Can't opendir src/backend/catalog/ $!"; @@ -516,6 +521,9 @@ EOF copyFile( 'src/backend/catalog/schemapg.h', 'src/include/catalog/schemapg.h'); + open(my $chs, '>', 'src/include/catalog/header-stamp') + || confess "Could not touch header-stamp"; + close($chs); } open(my $o, '>', "doc/src/sgml/version.sgml") diff --git a/src/tools/msvc/clean.bat b/src/tools/msvc/clean.bat index a041ef2..6545442 100755 --- a/src/tools/msvc/clean.bat +++ b/src/tools/msvc/clean.bat @@ -49,6 +49,7 @@ if exist src\include\storage\lwlocknames.h del /q src\include\storage\lwlockname if exist src\include\utils\probes.h del /q src\include\utils\probes.h if exist src\include\catalog\schemapg.h del /q src\include\catalog\schemapg.h if exist src\include\catalog\pg_*_d.h del /q src\include\catalog\pg_*_d.h +if exist src\include\catalog\header-stamp del /q src\include\catalog\header-stamp if exist doc\src\sgml\version.sgml del /q doc\src\sgml\version.sgml if %DIST%==1 if exist src\backend\utils\fmgroids.h del /q src\backend\utils\fmgroids.h