6

Platform is Windows server 2012R2. Toolsets installed are VS2015 with update 1 and Windows Driver Kit 10.

I run the "VS2015 x64 Native Tools Command Prompt", navigate to my unpacked boost_1_60_0 folder and run bootstrap.bat (have also run with an option 'msvc').

It quickly fails:

Building Boost.Build engine

Failed to build Boost.Build engine.
Please consult bootstrap.log for further diagnostics.

You can try to obtain a prebuilt binary from

   http://sf.net/project/showfiles.php?group_id=7586&package_id=72941

Also, you can file an issue at http://svn.boost.org
Please attach bootstrap.log in that case.

And the bootstrap.log contents:

###
### Using 'vc14' toolset.
###

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>if exist bootstrap rd /S /Q bootstrap 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>md bootstrap 

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0  command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c 
command.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
compile.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
constants.c
debug.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
execcmd.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
execnt.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
filent.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
frames.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
function.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
glob.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
hash.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
hdrmacro.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
headers.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
jam.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
jambase.c
jamgram.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
lists.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
make.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
make1.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
object.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
Generating Code...
Compiling...
option.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
output.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
parse.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
pathnt.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
pathsys.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
regexp.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
rules.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
scan.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
search.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
subst.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
timestamp.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
variable.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
modules.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
strings.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
filesys.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
builtins.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
md5.c
md5.c(55): fatal error C1083: Cannot open include file: 'string.h': No such file or directory
class.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
cwd.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
w32_getreg.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\jam.h(34): fatal error C1083: Cannot open include file: 'ctype.h': No such file or directory
Generating Code...
Compiling...
native.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
set.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
path.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
regex.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\modules\../mem.h(67): fatal error C1083: Cannot open include file: 'stdlib.h': No such file or directory
property-set.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
sequence.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\strings.h(11): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
order.c
c:\git\3rdpartysw\boost-build\boost_1_60_0\tools\build\src\engine\modules\../mem.h(67): fatal error C1083: Cannot open include file: 'stdlib.h': No such file or directory
Generating Code...

C:\git\3rdpartySW\boost-build\boost_1_60_0\tools\build\src\engine>exit /b 2 

Any thoughts why I cannot build? This site suggests it should be very straighforward.

Jon
  • 1,675
  • 26
  • 57
  • [](http://en.cppreference.com/w/cpp/header/cctype) is a standard library header. I suggest trying to compile a hello world program. – Cheers and hth. - Alf Mar 21 '16 at 16:52
  • No issues. Used the "isalnum" method to be sure, worked just fine. Found ctype.h in `c:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\ctype.h`. – Jon Mar 21 '16 at 17:03

2 Answers2

13

Building on Tmayto's answer and the workaround I mentioned in my comment there, I found that ctype.h was not in the Visual Studio tree, but rather, in the Windows Kits tree. Further, it was not within the path specified by %INCLUDE%, but in 10.0.10240.0\ucrt (and 10.0.10150.0\ucrt). So, I marked 10.0.10586.0 as hidden in addition to wdf (see image below for details). Now, boost is building.

MS really needs to fix their stuff! Appears one of the scripts just blindly assumes the headers are in the "latest" or "highest-numbering" folder.

I don't know what the repercussions of doing this will be as I have not yet begun to try to compile the driver we need... it's very disconcerting to do things like this and potentially break something essential later on.

UPDATE: With WDK 10 & SDK 10 installed, the 10.0.10586.0 folder is properly populated, no need to mark it hidden as well. Though I don't know which kit deployed that folder, I suspect that the prior lack of headers within was due to having installed an earlier version.

Mark the following folders "hidden"

Jon
  • 1,675
  • 26
  • 57
  • I'm glad you were able to figure it out. Hopefully Microsoft actually puts out a fix for this other than this strange "Let us copy all of your standard libraries to a non-standard file" – Tmayto Mar 23 '16 at 11:04
  • Apparently, they did not read "The Complete Idiot's Guide to Not Making a Dog's Breakfast of WDK Installation". Thanks for your help! – Jon Mar 23 '16 at 14:06
  • 1
    This is not fixed (Update 3), should hide anything after `10.0.10240.0` (last one with `ucrt`). e.g. `10.0.14393.0` should also be hidden. – dashesy Oct 17 '16 at 19:47
  • It must be the kits (either the SDK10 or WDK10) which are populating that, then. My `10.0.10586.0` _is_ populated correctly. Thank you for the helpful update and clearly, the take-away from this is, individual results may vary. – Jon Oct 18 '16 at 17:43
2

It seems as though your linker is unable to find the standard c/c++ libraries. It looks like it may be an issue with Windows Driver Kit 10 if you have it, or you are missing the libraries. Firstly, check in C:\Program Files\Microsoft Visual Studio 14.0\VC\include and see if you have files in there, specifically the ones like stddef.h, stdlib.h and ctype.h

Otherwise, try to rename the C:\Program Files (x86)\Windows Kits\10\include\wdf folder to something like C:\Program Files (x86)\Windows Kits\10\include\00wdf

It looks as though people have had success with that judging by this git issue and this stackoverflow issue.

Community
  • 1
  • 1
Tmayto
  • 135
  • 6
  • Well, something's gone wonky. I removed the WDK and did a repair on visual studio. Despite that, there is a distinct lack of std includes in the VC\include dir. They all seem to be in the Windows Kits\\10\Include tree, where subdirs include 10.0.10150.0\ucrt and 10.0.10240.0\ucrt. I am now attempting to reinstall the WDK and see if this [workaround](https://connect.microsoft.com/VisualStudio/feedback/details/1610302/universalcrt-detection-breaks-when-windows-driver-kit-is-installed) will help. – Jon Mar 21 '16 at 18:37
  • Neither renaming the wdf nor applying the hidden attribute to the wdf folder helped. :( – Jon Mar 21 '16 at 18:44
  • I'm very quickly running out of ideas unfortunately. Have you tried directly including the directory where all the std includes are into Visual Studio instead? I.e. link them like you would a 3rd party library and include? I've never tried it but it may work for you – Tmayto Mar 22 '16 at 07:46