Reputation: 43
Hey hope some skilled guys of you can help..
(I've googled a lot, read many articles and questions from other people having similar problems but can't find a good answer/solution for my issue)
Tried to build boosts thread via VS2013 x64 Native Tools Command:
b2.exe --with-thread --build-type=complete toolset=msvc-12.0 architecture=x86 address-model=64 stage
Question: How can I avoid that fails? (From ..\bin.v2\config.log)
...found 10 targets...
...updating 5 targets...
common.mkdir libs\config\checks\architecture\bin
common.mkdir libs\config\checks\architecture\bin\msvc-12.0
common.mkdir libs\config\checks\architecture\bin\msvc-12.0\debug
common.mkdir libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\32.obj
32.cpp
...updated 5 targets...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\arm.obj
arm.cpp
libs\config\checks\architecture\arm.cpp(13) : fatal error C1189: #error : "Not ARM"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\arm.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\arm.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\mips1.obj
mips1.cpp
libs\config\checks\architecture\mips1.cpp(10) : fatal error C1189: #error : "Not MIPS1"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\mips1.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\mips1.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\power.obj
power.cpp
libs\config\checks\architecture\power.cpp(13) : fatal error C1189: #error : "Not PPC"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\power.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\power.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\sparc.obj
sparc.cpp
libs\config\checks\architecture\sparc.cpp(10) : fatal error C1189: #error : "Not SPARC"
call "C:\Users\..\AppData\Local\Temp\b2_msvc_12.0_vcvarsall_x86.cmd" >nul
cl /Zm800 -nologo @"libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\sparc.obj.rsp"
...failed compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\sparc.obj...
...failed updating 1 target...
...found 2 targets...
...updating 1 target...
compile-c-c++ libs\config\checks\architecture\bin\msvc-12.0\debug\threading-multi\x86.obj
x86.cpp
...updated 1 target...
...found 3 targets...
...updating 3 targets...
common.mkdir bin.v2
link.touch bin.v2\test-symlink-source
link.mklink bin.v2\test-symlink
You do not have sufficient privilege to perform this operation.
if exist "bin.v2\test-symlink" del "bin.v2\test-symlink"
mklink "bin.v2\test-symlink" "test-symlink-source"
...failed link.mklink bin.v2\test-symlink...
...failed updating 1 target...
...updated 2 targets...
...found 2 targets...
...updating 2 targets...
common.mkdir bin.v2\test-junction-source
link.junction bin.v2\test-junction
Junction created for bin.v2\test-junction <<===>> bin.v2\test-junction-source
...updated 2 targets...
...found 3 targets...
...updating 3 targets...
common.mkdir bin.v2\symlink
link.touch bin.v2\test-hardlink-source
link.hardlink bin.v2\symlink\test-hardlink
Hardlink created for bin.v2\symlink\test-hardlink <<===>> bin.v2\test-hardlink-source
...updated 3 targets...
...found 1 target...
...updating 1 target...
config-cache.write bin.v2\project-cache.jam
...updated 1 target...
I figured out that the fails correlate with the output from b2 after runing the mentioned build command above, among others saying:
C:\boost_1_63_0>b2.exe --with-thread --build-type=complete toolset=msvc-12.0 architecture=x86 address-model=64 stage
Performing configuration checks
- 32-bit : yes
- arm : no
- mips1 : no
- power : no
- sparc : no
- x86 : yes
- symlinks supported : no
- junctions supported : yes
- hardlinks supported : yes
What does that mean?
Why does b2 produce that output and why do these components cause that fails in the log?
Any help would be appreciated.
PS: I know that the binaris can be found precompiled but I would like to understand the issue.
Upvotes: 3
Views: 883
Reputation: 21
I know this question is old, but it could help someone.
The build system (boost build, a variant of jam) performs some configuration checks to determine the architecture of the system, the platform, the OS, the tool-set to use, the capabilities of some utilities, etc. That some of those tests fail, doesn't mean that the libraries requested will fail to compile, in some cases some features might not be present, for example is the ICU library is not found the ICU back-end will not be usable in boost locale. In particular some of the tests you mention:
arm : no
===> An ARM processor was not detected.
mips1 : no
===> A MIPS processor was not detected.
symlinks supported : no
===> Those are supported in Windows starting with Windows Vista, but admin privileges are required.
If you want to view the results of the tests that are performed, you can pass the options "--debug-configuration" and "-dn" (where n is the level of debug), according to "b2 --help":
General command line usage:
b2 [options] [properties] [targets]
Options, properties and targets can be specified in any order.
Important Options:
* --clean Remove targets instead of building
* -a Rebuild everything
* -n Don't execute the commands, only print them
* -d+2 Show commands as they are executed
* -d0 Suppress all informational messages
* -q Stop at first error
* --reconfigure Rerun all configuration checks
* --debug-configuration Diagnose configuration
* --debug-building Report which targets are built with what properties
* --debug-generator Diagnose generator search/execution
Further Help:
The following options can be used to obtain additional documentation.
* --help-options Print more obscure command line options.
* --help-internal Boost.Build implementation details.
* --help-doc-options Implementation details doc formatting.
You can inspect the "bin.v2\config.log" to see the tests performed and their results. For a deeper inspection you'll need to learn the syntax of jam files in the boost build system.
The official help to build from sources (boost 1_65_1) can be found here: Build Binaries From Source.
The official help of the boost build system can be found here: Boost.Build.
Upvotes: 1