Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build fails on current master with debug-store=database (regression from 1.75) #710

Open
thebrandre opened this issue Feb 13, 2021 · 4 comments
Labels
transition Transition to bfgroup/b2

Comments

@thebrandre
Copy link

Operating System: Windows 1809
Compiler: Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27045 for x64 (which is VS2017's compiler shipped with VS2019).

I compile boost as decribed here via:

call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64 -vcvars_ver=14.16
.\bootstrap.bat 
.\b2 toolset=msvc-14.1 -j8 architecture=x86 runtime-link=shared variant=debug,release --without-mpi --without-python --without-graph_parallel --stagedir=stage64 debug-symbols=on debug-store=database cflags=/FS pch=off --hash address-model=64 stage

This works perfectly fine with the current release boost-1.75 but is broken on the current master which is this commit in boost.build.

I get lots of error messages like this one:

fatal error C1041: cannot open program database 'D:\lib\boost_f0b58842\bin.v2\libs\wave\build\faa0db243f6e360880aded34dd7ff9cb\libboost_wave-vc141-mt-x64-1_76.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS

It seems the cflags=/FS are no longer passed correctly to the compiler.

Avoiding debug-store=database still works ... but comes without PDBs

.\b2 toolset=msvc-14.1 -j8 architecture=x86 runtime-link=shared variant=debug,release --without-mpi --without-python --without-graph_parallel --stagedir=stage64 debug-symbols=on pch=off --hash address-model=64 stage
@grafikrobot
Copy link
Member

This release fixed a long standing issue of incorrectly mixing cflags for c++ compiles vs just cxxflags. TO fix your compile pass in cxxflags=/FS instead.

@thebrandre
Copy link
Author

Replacing cflags by cxxflags didn't help, unfortunately.

Using git bisect, I found out that the issue was introduced in this commit.

@thebrandre
Copy link
Author

Update: on the current master, using both cflags=/FS cxxflags=/FS works; only one of them doesn't.

@stale
Copy link

stale bot commented May 29, 2021

Thank you for your contributions. Main development of B2 has moved to https://github.com/bfgroup/b2
This issue has been automatically marked as "transition" to indicate the potential for needing transition to the new B2 development project.

@stale stale bot added the transition Transition to bfgroup/b2 label May 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
transition Transition to bfgroup/b2
Projects
None yet
Development

No branches or pull requests

2 participants