Boost logo

Boost-Build :

Subject: [Boost-build] Has ICU test fails, Info might help with Ticket #9703
From: Wayne Anderson (wayne_at_[hidden])
Date: 2017-01-27 16:42:43


Hi, 

I see a bug report has been filed for this (Ticket #9703) and I thought the following info might help…

I tried doing a fresh build of boost 1.6.3.0 with ICU using the following config commands
 >./bootstrap.sh --with-toolset=clang --prefix=/Users/wayne/Projects/Common/boost_1_63_0 --with-icu=/Users/wayne/Projects/Common/ICU/icu_58_2_build
 >./b2 install -d+2 -toolset=clang variant=debug debug-symbols=on cxxflags="-std=c++14 -stdlib=libc++" linkflags="-stdlib=libc++”

...
- icu                         : no
- icu (lib64)              : no
...

Here are the relevant lines from config.log...

...

clang-darwin.compile.c++ bin.v2/libs/regex/build/clang-darwin-4.2.1/debug/has_icu_test.o

    "clang++" -x c++ -std=c++14 -stdlib=libc++ -O0 -g -O0 -fno-inline -Wall -pedantic -g -DBOOST_ALL_NO_LIB=1 -DBOOST_HAS_ICU=1 -I"." -I"/Users/wayne/Projects/Common/ICU/icu_58_2_build/include" -c -o "bin.v2/libs/regex/build/clang-darwin-4.2.1/debug/has_icu_test.o" "libs/regex/build/has_icu_test.cpp"

...

clang-darwin.compile.c++ bin.v2/libs/locale/build/clang-darwin-4.2.1/debug/has_icu_obj.o

    "clang++" -x c++ -std=c++14 -stdlib=libc++ -O0 -g -O0 -fno-inline -Wall -g -DBOOST_ALL_NO_LIB=1 -I"." -c -o "bin.v2/libs/locale/build/clang-darwin-4.2.1/debug/has_icu_obj.o" "libs/locale/src/../build/has_icu_test.cpp"

libs/locale/src/../build/has_icu_test.cpp:12:10: fatal error: 'unicode/uversion.h' file not found
#include <unicode/uversion.h>
                ^
1 error generated.

The -I"path to icu" option appears in the has_icu_test.cpp build command from regex but
not for the one from locale. Adding the -sICU_PATH option to d2
(-sICU_PATH=/Users/wayne/Projects/Common/ICU/icu_58_2_build) works

Note that the full text of the build commands (with the -I paths) only come through 
in config.log when the -d+2 option for b2 is used which made this problem particularly
hard to pin down.

I also noticed that the -d+2 option causes the -pedantic option to be used on the
regex command but not the locale command

My system info:

MacOS Sierra 10.12.3

clang version:

Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0

Thanks,

Wayne

______________________
Wayne Anderson
wayne_at_[hidden]



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk