Boost logo

Boost :

Subject: Re: [boost] Clang 4.0.0 MPL error in Boost next.hpp and prior.hpp
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2017-03-27 16:59:17


> -----Original Message-----
> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Peter Dimov via Boost
> Sent: 27 March 2017 16:03
> To: boost_at_[hidden]
> Cc: Peter Dimov
> Subject: Re: [boost] Clang 4.0.0 MPL error in Boost next.hpp and prior.hpp
>
> Paul A. Bristow wrote:
>
> > I:\modular-boost\libs\hello_boost\example\jamfile.v2 just calls run
> > hello_boost.cpp ;
>
> What are the entire contents of this Jamfile? Where does this hello_boost
> come from?

jamfile and hello_boost.cpp (a hello World that uses boost/config) attached.

As I feared, doing something silly.

Now I get something as bad - back to missing the cstddef file.

I've tried adding to user_config.jam

<cxxflags>"-IC:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include"

and as many other other variants as I can conceive, but the quoting is not working right and the compiler finds the space and stops
rather than finding the file. I think this is a bug in bjam? but I don't see how to get around it. I have added an INCLUDE=
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt

but I don't see how to add a second item using the windows environment Variable editor.

(Using the Codeblocks IDE - to confuse myself completely, adding this include folder as a Search directory allows some progress, at
least finding the MS <cstddef>).

Suggestions? And many thanks.

Paul

PS You didn't say if I really needed the most recent March 2017 VS update?

I:\modular-boost\libs\hello_boost\example>b2
Performing configuration checks

    - 32-bit : yes (cached)
    - arm : no (cached)
    - mips1 : no (cached)
    - power : no (cached)
    - sparc : no (cached)
    - x86 : yes (cached)
    - symlinks supported : yes (cached)
...found 200 targets...
...updating 13 targets...
common.mkdir ..\..\..\bin.v2\libs\hello_boost
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on\link-static
common.mkdir
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on\link-static\runtime-link-static
compile-c-c++
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on\link-static\runtime-link-static\hello
_boost.obj
hello_boost.cpp
msvc.link
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on\link-static\runtime-link-static\hello
_boost.exe
msvc.manifest
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on\link-static\runtime-link-static\hello
_boost.exe
testing.capture-output
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on\link-static\runtime-link-static\hello
_boost.run
        1 file(s) copied.
**passed**
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\msvc-14.0\debug\asynch-exceptions-on\link-static\runtime-link-static\hello
_boost.test
...updated 13 targets...

I:\modular-boost\libs\hello_boost\example>b2 toolset=gcc-6.3.0
Performing configuration checks

    - 32-bit : no
    - 64-bit : yes
    - arm : no
    - mips1 : no
    - power : no
    - sparc : no
    - x86 : yes
    - symlinks supported : yes
...found 192 targets...
...updating 6 targets...
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\gcc-mingw-6.3.0
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\gcc-mingw-6.3.0\debug
gcc.compile.c++ ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\gcc-mingw-6.3.0\debug\hello_boost.o
gcc.link ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\gcc-mingw-6.3.0\debug\hello_boost.exe
testing.capture-output ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\gcc-mingw-6.3.0\debug\hello_boost.run
        1 file(s) copied.
**passed** ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\gcc-mingw-6.3.0\debug\hello_boost.test
...updated 6 targets...

I:\modular-boost\libs\hello_boost\example>b2 toolset=clang-4.0.0
Performing configuration checks

    - 32-bit : no (cached)
    - 64-bit : yes (cached)
    - arm : no (cached)
    - mips1 : no (cached)
    - power : no (cached)
    - sparc : no (cached)
    - x86 : yes (cached)
    - symlinks supported : yes (cached)
...found 196 targets...
...updating 6 targets...
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0
common.mkdir ..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug
clang-linux.compile.c++.without-pth
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug\hello_boost.obj
clang version 4.0.0 (tags/RELEASE_400/final)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\LLVM\bin
 "C:\\LLVM\\bin\\clang.exe" -cc1 -triple x86_64-pc-windows-msvc19.0.24123 -emit-obj -mrelax-all -mincremental-linker-compatible
-disable-free -main-file-name hello_boost.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -target-cpu x86-64 -momit-leaf-frame-pointer -v -dwarf-column-info -debug-info-kind=limited
-dwarf-version=4 -debugger-tuning=gdb -coverage-notes-file
"I:\\modular-boost\\libs\\hello_boost\\example\\..\\..\\..\\bin.v2\\libs\\hello_boost\\example\\hello_boost.test\\clang-linux-4.0.0\
\debug\\hello_boost.gcno" -resource-dir "C:\\LLVM\\bin\\..\\lib\\clang\\4.0.0" -D BOOST_ALL_NO_LIB=1 -I "..\\..\\.."
-internal-isystem "C:\\LLVM\\bin\\..\\lib\\clang\\4.0.0\\include" -internal-isystem "C:\\Program Files (x86)\\Windows
Kits\\10\\Include\\10.0.10586.0\\ucrt" -O0 -Wall -fdeprecated-macro -fdebug-compilation-dir
"I:\\modular-boost\\libs\\hello_boost\\example" -ferror-limit 19 -fmessage-length 0 -fms-extensions -fms-compatibility
-fms-compatibility-version=19.0.24123 -std=c++14 -fdelayed-template-parsing -fno-inline -fobjc-runtime=gcc -fcxx-exceptions
-fexceptions -fdiagnostics-show-option -o
"..\\..\\..\\bin.v2\\libs\\hello_boost\\example\\hello_boost.test\\clang-linux-4.0.0\\debug\\hello_boost.obj" -x c++ hello_boost.cpp
clang -cc1 version 4.0.0 based upon LLVM 4.0.0 default target x86_64-pc-windows-msvc
#include "..." search starts here:
#include <...> search starts here:
 ..\..\..
 C:\LLVM\bin\..\lib\clang\4.0.0\include
 C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt
End of search list.
In file included from hello_boost.cpp:13:
In file included from ..\..\..\boost/config.hpp:44:
..\..\..\boost/config/select_stdlib_config.hpp:18:12: fatal error: 'cstddef' file not found
# include <cstddef>
           ^~~~~~~~~
1 error generated.

  "C:/LLVM/bin/clang.exe" -c -x c++ -O0 -g -fno-inline -Wall -g -v -m64 -DBOOST_ALL_NO_LIB=1 -I"..\..\.." -o
"..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug\hello_boost.obj" "hello_boost.cpp"

...failed clang-linux.compile.c++.without-pth
..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug\hello_boost.obj...
...skipped <p..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug>hello_boost.exe for lack of
<p..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug>hello_boost.obj...
...skipped <p..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug>hello_boost.run for lack of
<p..\..\..\bin.v2\libs\hello_boost\example\hello_boost.test\clang-linux-4.0.0\debug>hello_boost.exe...
...failed updating 1 target...
...skipped 3 targets...
...updated 2 targets...





Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk