b2 icon indicating copy to clipboard operation
b2 copied to clipboard

b2 doesn't see ICU package in msys2 internal folders on windows, and builds boost without it

Open crillion opened this issue 3 years ago • 4 comments

Make sure you completed the following tasks

Environment and version details

  • Operating System+version: windows 10
  • Compiler+version: msys2 / mingw_w64 / GCC 12.2
  • Shell: windows command prompt
  • B2 Version: B2 Version 4.9.
  • B2 Configuration: Output of b2 --debug-configuration in your project.
  • Boost 1.80
Place output of "b2 --debug-configuration" here.


notice: found boost-build.jam at C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/boost-build.jam
notice: loading B2 from C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/kernel/bootstrap.jam
notice: Searching 'C:\windows' 'C:\Users\a00545633' 'C:\Users\a00545633' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/kernel' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/util' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/build' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/tools' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/contrib' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/.' for site-config configuration file 'site-config.jam'.
notice: Configuration file 'site-config.jam' not found in 'C:\windows' 'C:\Users\a00545633' 'C:\Users\a00545633' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/kernel' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/util' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/build' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/tools' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/contrib' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/.'.
notice: Searching 'C:\Users\a00545633' 'C:\Users\a00545633' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/kernel' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/util' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/build' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/tools' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/contrib' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/.' for user-config configuration file 'user-config.jam'.
notice: Configuration file 'user-config.jam' not found in 'C:\Users\a00545633' 'C:\Users\a00545633' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/kernel' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/util' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/build' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/tools' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/contrib' 'C:/Users/a00545633/data/projects/external/boost/boost_1_80_0/tools/build/src/.'.
notice: Searching '.' for project-config configuration file 'project-config.jam'.
notice: Loading project-config configuration file 'project-config.jam' from '.'.
notice: will use 'g++' for gcc, condition <toolset>gcc-12
notice: using gcc libraries :: <toolset>gcc-12 :: C:\programs\msys64\mingw64/bin C:\programs\msys64\mingw64/lib C:\programs\msys64\mingw64/lib32 C:\programs\msys64\mingw64/lib64
notice: using gcc archiver :: <toolset>gcc-12 :: C:/programs/msys64/mingw64/x86_64-w64-mingw32/bin/ar.exe
notice: using rc compiler :: <toolset>gcc-12 :: C:\programs\msys64\mingw64\bin\windres.exe
notice: [zlib] Using pre-installed library
notice: [zlib] Condition
notice: [bzip2] Using pre-installed library
notice: [bzip2] Condition
notice: [lzma] Using pre-installed library
notice: [lzma] Condition
notice: [zstd] Using pre-installed library
notice: [zstd] Condition
notice: [python-cfg] Configuring python...
notice: [python-cfg] Checking interpreter command "python"...
notice: [python-cfg] running command 'DIR /-C /A:S "C:\programs\msys64\mingw64\bin\python.exe" 2>&1'
notice: [python-cfg] running command 'python -c "from sys import *; print('version=%d.%d\nplatform=%s\nprefix=%s\nexec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,prefix,exec_prefix,executable))" 2>&1'
notice: [python-cfg] ...requested configuration matched!
notice: [python-cfg] Details of this Python configuration:
notice: [python-cfg]   interpreter command: "python"
notice: [python-cfg]   include path: "C:\programs\msys64\mingw64\Include"
notice: [python-cfg]   library path: "C:\programs\msys64\mingw64\libs"
notice: [python-cfg]   DLL search path: "C:\programs\msys64\mingw64"
notice: [python-cfg] Checking for NumPy...
notice: [python-cfg] running command 'python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())"'
notice: [python-cfg] NumPy disabled. Reason:
notice: [python-cfg]   python -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())" aborted with
notice: [python-cfg]   Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
Performing configuration checks

    - default address-model    : 64-bit (cached) [1]
    - default architecture     : x86 (cached) [1]

Building the Boost C++ Libraries.


    - compiler supports SSE2   : yes [2]
    - compiler supports SSE4.1 : yes [2]
    - has synchronization.lib  : no [2]
    - has std::atomic_ref      : no [2]
    - has statx                : no [2]
    - has statx syscall        : no [2]
    - has BCrypt API           : no [2]
    - is Windows CE            : no [2]
    - has init_priority attribute : yes [2]
    - has stat::st_blksize     : no [2]
    - has stat::st_mtim        : no [2]
    - has stat::st_mtimensec   : no [2]
    - has stat::st_mtimespec   : no [2]
    - has stat::st_birthtim    : no [2]
    - has stat::st_birthtimensec : no [2]
    - has stat::st_birthtimespec : no [2]
    - has fdopendir(O_NOFOLLOW) : no [2]
    - has POSIX *at APIs       : no [2]
    - cxx11_auto_declarations  : yes [2]
    - cxx11_constexpr          : yes [2]
    - cxx11_defaulted_functions : yes [2]
    - cxx11_final              : yes [2]
    - cxx11_hdr_mutex          : yes [2]
    - cxx11_hdr_tuple          : yes [2]
    - cxx11_lambdas            : yes [2]
    - cxx11_noexcept           : yes [2]
    - cxx11_nullptr            : yes [2]
    - cxx11_rvalue_references  : yes [2]
    - cxx11_template_aliases   : yes [2]
    - cxx11_thread_local       : yes [2]
    - cxx11_variadic_templates : yes [2]
    - cxx11_auto_declarations  : yes [3]
    - cxx11_constexpr          : yes [3]
    - cxx11_defaulted_functions : yes [3]
    - cxx11_final              : yes [3]
    - cxx11_hdr_mutex          : yes [3]
    - cxx11_hdr_tuple          : yes [3]
    - cxx11_lambdas            : yes [3]
    - cxx11_noexcept           : yes [3]
    - cxx11_nullptr            : yes [3]
    - cxx11_rvalue_references  : yes [3]
    - cxx11_template_aliases   : yes [3]
    - cxx11_thread_local       : yes [3]
    - cxx11_variadic_templates : yes [3]
    - has_icu builds           : no [2]
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam.
note: to suppress this message, pass "--without-graph_parallel" to bjam.
    - zlib                     : no [4]
    - bzip2                    : no [4]
    - lzma                     : no [4]
    - zstd                     : no [4]
    - has_lzma_cputhreads builds : no [2]
    - cxx11_decltype           : yes [2]
    - cxx11_basic_alignas      : yes [2]
    - iconv (libc)             : no [2]
    - iconv (separate)         : no [2]
    - icu                      : no [2]
    - icu (lib64)              : no [2]
    - native atomic int32 supported : yes [2]
    - has message compiler     : no [2]
    - native syslog supported  : no [2]
    - pthread supports robust mutexes : no [2]
    - compiler supports SSSE3  : yes [2]
    - compiler supports AVX2   : yes [2]
    - gcc visibility           : yes [2]
    - sfinae_expr              : yes [2]
    - cxx11_unified_initialization_syntax : yes [2]
    - cxx11_hdr_initializer_list : yes [2]
    - cxx11_hdr_chrono         : yes [2]
    - cxx11_numeric_limits     : yes [2]
    - cxx11_hdr_array          : yes [2]
    - cxx11_hdr_atomic         : yes [2]
    - cxx11_hdr_type_traits    : yes [2]
    - cxx11_allocator          : yes [2]
    - cxx11_explicit_conversion_operators : yes [2]
    - gcc visibility           : yes [5]
    - cxx11_noexcept           : yes [5]
    - cxx11_rvalue_references  : yes [5]
    - sfinae_expr              : yes [5]
    - cxx11_auto_declarations  : yes [5]
    - cxx11_lambdas            : yes [5]
    - cxx11_unified_initialization_syntax : yes [5]
    - cxx11_hdr_tuple          : yes [5]
    - cxx11_hdr_initializer_list : yes [5]
    - cxx11_hdr_chrono         : yes [5]
    - cxx11_thread_local       : yes [5]
    - cxx11_constexpr          : yes [5]
    - cxx11_nullptr            : yes [5]
    - cxx11_numeric_limits     : yes [5]
    - cxx11_decltype           : yes [5]
    - cxx11_hdr_array          : yes [5]
    - cxx11_hdr_atomic         : yes [5]
    - cxx11_hdr_type_traits    : yes [5]
    - cxx11_allocator          : yes [5]
    - cxx11_explicit_conversion_operators : yes [5]
    - long double support      : yes [5]
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
    - cxx11_static_assert      : yes [2]
    - std::fstream is moveable and swappable : yes [2]
    - Has Large File Support   : no [2]
    - Has attribute init_priority : yes [2]
    - libbacktrace builds      : no [2]
    - libbacktrace builds      : no [3]
    - addr2line builds         : no [2]
    - addr2line builds         : no [3]
    - WinDbg builds            : no [2]
    - WinDbg builds            : no [3]
    - WinDbgCached builds      : no [2]
    - WinDbgCached builds      : no [3]
    - BOOST_COMP_GNUC >= 4.3.0 : yes [2]
    - cxx11_hdr_thread         : yes [2]
    - cxx11_hdr_regex          : yes [2]
    - compiler supports SSE2   : yes [6]
    - compiler supports SSE4.1 : yes [6]
    - has synchronization.lib  : no [6]
    - has std::atomic_ref      : no [6]
    - has statx                : no [6]
    - has statx syscall        : no [6]
    - has BCrypt API           : no [6]
    - is Windows CE            : no [6]
    - has init_priority attribute : yes [6]
    - has stat::st_blksize     : no [6]
    - has stat::st_mtim        : no [6]
    - has stat::st_mtimensec   : no [6]
    - has stat::st_mtimespec   : no [6]
    - has stat::st_birthtim    : no [6]
    - has stat::st_birthtimensec : no [6]
    - has stat::st_birthtimespec : no [6]
    - has fdopendir(O_NOFOLLOW) : no [6]
    - has POSIX *at APIs       : no [6]
    - cxx11_auto_declarations  : yes [6]
    - cxx11_constexpr          : yes [6]
    - cxx11_defaulted_functions : yes [6]
    - cxx11_final              : yes [6]
    - cxx11_hdr_mutex          : yes [6]
    - cxx11_hdr_tuple          : yes [6]
    - cxx11_lambdas            : yes [6]
    - cxx11_noexcept           : yes [6]
    - cxx11_nullptr            : yes [6]
    - cxx11_rvalue_references  : yes [6]
    - cxx11_template_aliases   : yes [6]
    - cxx11_thread_local       : yes [6]
    - cxx11_variadic_templates : yes [6]
    - cxx11_auto_declarations  : yes [7]
    - cxx11_constexpr          : yes [7]
    - cxx11_defaulted_functions : yes [7]
    - cxx11_final              : yes [7]
    - cxx11_hdr_mutex          : yes [7]
    - cxx11_hdr_tuple          : yes [7]
    - cxx11_lambdas            : yes [7]
    - cxx11_noexcept           : yes [7]
    - cxx11_nullptr            : yes [7]
    - cxx11_rvalue_references  : yes [7]
    - cxx11_template_aliases   : yes [7]
    - cxx11_thread_local       : yes [7]
    - cxx11_variadic_templates : yes [7]
    - has_icu builds           : no [6]
    - zlib                     : no  (cached) [4]
    - bzip2                    : no  (cached) [4]
    - lzma                     : no  (cached) [4]
    - zstd                     : no  (cached) [4]
    - has_lzma_cputhreads builds : no [6]
    - cxx11_decltype           : yes [6]
    - cxx11_basic_alignas      : yes [6]
    - iconv (libc)             : no [6]
    - iconv (separate)         : no [6]
    - icu                      : no [6]
    - icu (lib64)              : no [6]
    - native atomic int32 supported : yes [6]
    - has message compiler     : no [6]
    - native syslog supported  : no [6]
    - pthread supports robust mutexes : no [6]
    - compiler supports SSSE3  : yes [6]
    - compiler supports AVX2   : yes [6]
    - gcc visibility           : yes [6]
    - sfinae_expr              : yes [6]
    - cxx11_unified_initialization_syntax : yes [6]
    - cxx11_hdr_initializer_list : yes [6]
    - cxx11_hdr_chrono         : yes [6]
    - cxx11_numeric_limits     : yes [6]
    - cxx11_hdr_array          : yes [6]
    - cxx11_hdr_atomic         : yes [6]
    - cxx11_hdr_type_traits    : yes [6]
    - cxx11_allocator          : yes [6]
    - cxx11_explicit_conversion_operators : yes [6]
    - gcc visibility           : yes [8]
    - cxx11_noexcept           : yes [8]
    - cxx11_rvalue_references  : yes [8]
    - sfinae_expr              : yes [8]
    - cxx11_auto_declarations  : yes [8]
    - cxx11_lambdas            : yes [8]
    - cxx11_unified_initialization_syntax : yes [8]
    - cxx11_hdr_tuple          : yes [8]
    - cxx11_hdr_initializer_list : yes [8]
    - cxx11_hdr_chrono         : yes [8]
    - cxx11_thread_local       : yes [8]
    - cxx11_constexpr          : yes [8]
    - cxx11_nullptr            : yes [8]
    - cxx11_numeric_limits     : yes [8]
    - cxx11_decltype           : yes [8]
    - cxx11_hdr_array          : yes [8]
    - cxx11_hdr_atomic         : yes [8]
    - cxx11_hdr_type_traits    : yes [8]
    - cxx11_allocator          : yes [8]
    - cxx11_explicit_conversion_operators : yes [8]
    - long double support      : yes [8]
    - cxx11_static_assert      : yes [6]
    - std::fstream is moveable and swappable : yes [6]
    - Has Large File Support   : no [6]
    - Has attribute init_priority : yes [6]
    - libbacktrace builds      : no [6]
    - libbacktrace builds      : no [7]
    - addr2line builds         : no [6]
    - addr2line builds         : no [7]
    - WinDbg builds            : no [6]
    - WinDbg builds            : no [7]
    - WinDbgCached builds      : no [6]
    - WinDbgCached builds      : no [7]
    - BOOST_COMP_GNUC >= 4.3.0 : yes [6]
    - cxx11_hdr_thread         : yes [6]
    - cxx11_hdr_regex          : yes [6]
    - compiler supports SSE2   : yes [9]
    - compiler supports SSE4.1 : yes [9]
    - has synchronization.lib  : yes [9]
    - has std::atomic_ref      : no [9]
    - has statx                : no [9]
    - has statx syscall        : no [9]
    - has BCrypt API           : yes [9]
    - has init_priority attribute : yes [9]
    - has stat::st_blksize     : no [9]
    - has stat::st_mtim        : no [9]
    - has stat::st_mtimensec   : no [9]
    - has stat::st_mtimespec   : no [9]
    - has stat::st_birthtim    : no [9]
    - has stat::st_birthtimensec : no [9]
    - has stat::st_birthtimespec : no [9]
    - has fdopendir(O_NOFOLLOW) : no [9]
    - has POSIX *at APIs       : no [9]
    - cxx11_auto_declarations  : yes [9]
    - cxx11_constexpr          : yes [9]
    - cxx11_defaulted_functions : yes [9]
    - cxx11_final              : yes [9]
    - cxx11_hdr_mutex          : yes [9]
    - cxx11_hdr_tuple          : yes [9]
    - cxx11_lambdas            : yes [9]
    - cxx11_noexcept           : yes [9]
    - cxx11_nullptr            : yes [9]
    - cxx11_rvalue_references  : yes [9]
    - cxx11_template_aliases   : yes [9]
    - cxx11_thread_local       : yes [9]
    - cxx11_variadic_templates : yes [9]
    - cxx11_auto_declarations  : yes [10]
    - cxx11_constexpr          : yes [10]
    - cxx11_defaulted_functions : yes [10]
    - cxx11_final              : yes [10]
    - cxx11_hdr_mutex          : yes [10]
    - cxx11_hdr_tuple          : yes [10]
    - cxx11_lambdas            : yes [10]
    - cxx11_noexcept           : yes [10]
    - cxx11_nullptr            : yes [10]
    - cxx11_rvalue_references  : yes [10]
    - cxx11_template_aliases   : yes [10]
    - cxx11_thread_local       : yes [10]
    - cxx11_variadic_templates : yes [10]
    - has_icu builds           : no [9]
    - zlib                     : no  (cached) [4]
    - bzip2                    : no  (cached) [4]
    - lzma                     : no  (cached) [4]
    - zstd                     : no  (cached) [4]
    - has_lzma_cputhreads builds : yes [9]
    - cxx11_decltype           : yes [9]
    - cxx11_basic_alignas      : yes [9]
    - iconv (libc)             : no  (cached) [9]
    - iconv (separate)         : yes (cached) [9]
    - icu                      : no  (cached) [9]
    - icu (lib64)              : no  (cached) [9]
    - native atomic int32 supported : yes [9]
    - has message compiler     : no [9]
    - native syslog supported  : no [9]
    - pthread supports robust mutexes : no [9]
    - compiler supports SSSE3  : yes [9]
    - compiler supports AVX2   : yes [9]
    - gcc visibility           : yes [9]
    - sfinae_expr              : yes [9]
    - cxx11_unified_initialization_syntax : yes [9]
    - cxx11_hdr_initializer_list : yes [9]
    - cxx11_hdr_chrono         : yes [9]
    - cxx11_numeric_limits     : yes [9]
    - cxx11_hdr_array          : yes [9]
    - cxx11_hdr_atomic         : yes [9]
    - cxx11_hdr_type_traits    : yes [9]
    - cxx11_allocator          : yes [9]
    - cxx11_explicit_conversion_operators : yes [9]
    - gcc visibility           : yes [11]
    - cxx11_noexcept           : yes [11]
    - cxx11_rvalue_references  : yes [11]
    - sfinae_expr              : yes [11]
    - cxx11_auto_declarations  : yes [11]
    - cxx11_lambdas            : yes [11]
    - cxx11_unified_initialization_syntax : yes [11]
    - cxx11_hdr_tuple          : yes [11]
    - cxx11_hdr_initializer_list : yes [11]
    - cxx11_hdr_chrono         : yes [11]
    - cxx11_thread_local       : yes [11]
    - cxx11_constexpr          : yes [11]
    - cxx11_nullptr            : yes [11]
    - cxx11_numeric_limits     : yes [11]
    - cxx11_decltype           : yes [11]
    - cxx11_hdr_array          : yes [11]
    - cxx11_hdr_atomic         : yes [11]
    - cxx11_hdr_type_traits    : yes [11]
    - cxx11_allocator          : yes [11]
    - cxx11_explicit_conversion_operators : yes [11]
    - long double support      : yes [11]
    - cxx11_static_assert      : yes [9]
    - std::fstream is moveable and swappable : yes [9]
    - Has Large File Support   : yes [9]
    - Has attribute init_priority : yes [9]
    - libbacktrace builds      : no [9]
    - libbacktrace builds      : no [10]
    - addr2line builds         : no [9]
    - addr2line builds         : no [10]
    - WinDbg builds            : yes [9]
    - WinDbg builds            : yes [10]
    - WinDbgCached builds      : yes [9]
    - BOOST_COMP_GNUC >= 4.3.0 : yes [9]
    - cxx11_hdr_thread         : yes [9]
    - cxx11_hdr_regex          : yes [9]
    - compiler supports SSE2   : yes [12]
    - compiler supports SSE4.1 : yes [12]
    - has synchronization.lib  : yes [12]
    - has std::atomic_ref      : no [12]
    - has statx                : no [12]
    - has statx syscall        : no [12]
    - has BCrypt API           : yes [12]
    - has init_priority attribute : yes [12]
    - has stat::st_blksize     : no [12]
    - has stat::st_mtim        : no [12]
    - has stat::st_mtimensec   : no [12]
    - has stat::st_mtimespec   : no [12]
    - has stat::st_birthtim    : no [12]
    - has stat::st_birthtimensec : no [12]
    - has stat::st_birthtimespec : no [12]
    - has fdopendir(O_NOFOLLOW) : no [12]
    - has POSIX *at APIs       : no [12]
    - cxx11_auto_declarations  : yes [12]
    - cxx11_constexpr          : yes [12]
    - cxx11_defaulted_functions : yes [12]
    - cxx11_final              : yes [12]
    - cxx11_hdr_mutex          : yes [12]
    - cxx11_hdr_tuple          : yes [12]
    - cxx11_lambdas            : yes [12]
    - cxx11_noexcept           : yes [12]
    - cxx11_nullptr            : yes [12]
    - cxx11_rvalue_references  : yes [12]
    - cxx11_template_aliases   : yes [12]
    - cxx11_thread_local       : yes [12]
    - cxx11_variadic_templates : yes [12]
    - cxx11_auto_declarations  : yes [13]
    - cxx11_constexpr          : yes [13]
    - cxx11_defaulted_functions : yes [13]
    - cxx11_final              : yes [13]
    - cxx11_hdr_mutex          : yes [13]
    - cxx11_hdr_tuple          : yes [13]
    - cxx11_lambdas            : yes [13]
    - cxx11_noexcept           : yes [13]
    - cxx11_nullptr            : yes [13]
    - cxx11_rvalue_references  : yes [13]
    - cxx11_template_aliases   : yes [13]
    - cxx11_thread_local       : yes [13]
    - cxx11_variadic_templates : yes [13]
    - has_icu builds           : no [12]
    - zlib                     : no  (cached) [4]
    - bzip2                    : no  (cached) [4]
    - lzma                     : no  (cached) [4]
    - zstd                     : no  (cached) [4]
    - has_lzma_cputhreads builds : no [12]
    - cxx11_decltype           : yes [12]
    - cxx11_basic_alignas      : yes [12]
    - iconv (libc)             : no  (cached) [12]
    - iconv (separate)         : yes (cached) [12]
    - icu                      : no  (cached) [12]
    - icu (lib64)              : no  (cached) [12]
    - native atomic int32 supported : yes [12]
    - has message compiler     : no [12]
    - native syslog supported  : no [12]
    - pthread supports robust mutexes : no [12]
    - compiler supports SSSE3  : yes [12]
    - compiler supports AVX2   : yes [12]
    - gcc visibility           : yes [12]
    - sfinae_expr              : yes [12]
    - cxx11_unified_initialization_syntax : yes [12]
    - cxx11_hdr_initializer_list : yes [12]
    - cxx11_hdr_chrono         : yes [12]
    - cxx11_numeric_limits     : yes [12]
    - cxx11_hdr_array          : yes [12]
    - cxx11_hdr_atomic         : yes [12]
    - cxx11_hdr_type_traits    : yes [12]
    - cxx11_allocator          : yes [12]
    - cxx11_explicit_conversion_operators : yes [12]
    - gcc visibility           : yes [14]
    - cxx11_noexcept           : yes [14]
    - cxx11_rvalue_references  : yes [14]
    - sfinae_expr              : yes [14]
    - cxx11_auto_declarations  : yes [14]
    - cxx11_lambdas            : yes [14]
    - cxx11_unified_initialization_syntax : yes [14]
    - cxx11_hdr_tuple          : yes [14]
    - cxx11_hdr_initializer_list : yes [14]
    - cxx11_hdr_chrono         : yes [14]
    - cxx11_thread_local       : yes [14]
    - cxx11_constexpr          : yes [14]
    - cxx11_nullptr            : yes [14]
    - cxx11_numeric_limits     : yes [14]
    - cxx11_decltype           : yes [14]
    - cxx11_hdr_array          : yes [14]
    - cxx11_hdr_atomic         : yes [14]
    - cxx11_hdr_type_traits    : yes [14]
    - cxx11_allocator          : yes [14]
    - cxx11_explicit_conversion_operators : yes [14]
    - long double support      : yes [14]
    - cxx11_static_assert      : yes [12]
    - std::fstream is moveable and swappable : yes [12]
    - Has Large File Support   : yes [12]
    - Has attribute init_priority : yes [12]
    - libbacktrace builds      : no [12]
    - libbacktrace builds      : no [13]
    - addr2line builds         : no [12]
    - addr2line builds         : no [13]
    - WinDbg builds            : yes [12]
    - WinDbg builds            : yes [13]
    - WinDbgCached builds      : yes [12]
    - BOOST_COMP_GNUC >= 4.3.0 : yes [12]
    - cxx11_hdr_thread         : yes [12]
    - cxx11_hdr_regex          : yes [12]

[1] gcc-12
[2] gcc-12/debug/address-model-32/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[3] gcc-12/debug/address-model-32/build-no/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[4] link-static
[5] gcc-12/debug/address-model-32/link-static/pch-off/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[6] gcc-12/release/address-model-32/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[7] gcc-12/release/address-model-32/build-no/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[8] gcc-12/release/address-model-32/link-static/pch-off/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[9] gcc-12/debug/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[10] gcc-12/debug/build-no/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[11] gcc-12/debug/link-static/pch-off/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[12] gcc-12/release/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[13] gcc-12/release/build-no/link-static/python-3.10/threadapi-win32/threading-multi/visibility-hidden
[14] gcc-12/release/link-static/pch-off/python-3.10/threadapi-win32/threading-multi/visibility-hidden


Brief problem description

I want to use boost locale built with ICU support. I use msys2 / mingw-w64 / gcc 12.2 and from msys2 I've also downloaded the ICU package. So I'd expect that b2 finds and uses that downloaded package.

Steps to reproduce the issue

install msys2 install msys2 mingw-w64 gcc package install msys2 ICU package add gcc.exe to windows path variable download boost extract boost create b2 with bootstrap.bat gcc give a b2 command to build boost using the icu package installed with msys2: with msys2 installed in C:\programs\msys64, I have tried unsuccessfully the following commands :


b2 --toolset=gcc address-model=64 b2 --toolset=gcc address-model=64 include=C:\programs\msys64 library-path=C:\programs\msys64 b2 --toolset=gcc address-model=64 include=C:\programs\msys64\mingw64 library-path=C:\programs\msys64\mingw64 b2 --toolset=gcc address-model=64 -a include=C:\programs\msys64\mingw64\include library-path=C:\programs\msys64\mingw64\lib b2 --toolset=gcc address-model=64 -a include=C:/programs/msys64/mingw64/include library-path=C:/programs/msys64/mingw64/lib

b2 --toolset=gcc address-model=64 --with-locale -a include=C:/programs/msys64/mingw64/include library-path=C:/programs/msys64/mingw64/lib

b2 --toolset=gcc address-model=64 -a include=C:/programs/msys64/mingw64/include library-path=C:/programs/msys64/mingw64/lib -sICU_PATH=C:/programs/msys64/mingw64/ b2 --toolset=gcc address-model=64 -a include=C:\programs\msys64\mingw64\include library-path=C:\programs\msys64\mingw64\lib -sICU_PATH=C:\programs\msys64\mingw64\

b2 --toolset=gcc address-model=64 -a include=C:/programs/msys64/mingw64/include library-path=C:/programs/msys64/mingw64/lib -sICU_PATH=C:/programs/temp_icu b2 --toolset=gcc address-model=64 -a include=C:\programs\msys64\mingw64\include library-path=C:\programs\msys64\mingw64\lib -sICU_PATH=C:\programs\temp_icu

b2 --toolset=gcc address-model=64 -a include=C:/programs/temp_icu/include library-path=C:/programs/temp_icu/lib -sICU_PATH=C:/programs/temp_icu b2 --toolset=gcc address-model=64 -a include=C:\programs\temp_icu\include library-path=C:\programs\temp_icu\lib -sICU_PATH=C:\programs\temp_icu

b2 --toolset=gcc address-model=64 -a include=C:/programs/msys64/mingw64/include library-path=C:/programs/msys64/mingw64/lib -sICU_PATH=C:/programs/msys64/mingw64/ --reconfigure boost.locale.iconv=off boost.locale.icu=on b2 --toolset=gcc address-model=64 -a include=C:\programs\msys64\mingw64\include library-path=C:\programs\msys64\mingw64\lib -sICU_PATH=C:\programs\msys64\mingw64\ --reconfigure boost.locale.iconv=off boost.locale.icu=on

b2 --toolset=gcc address-model=64 -a --reconfigure boost.locale.iconv=off boost.locale.icu=on include=C:/programs/msys64/mingw64/include library-path=C:/programs/msys64/mingw64/lib -sICU_PATH=C:/programs/msys64/mingw64/ b2 --toolset=gcc address-model=64 -a --reconfigure boost.locale.iconv=off boost.locale.icu=on include=C:\programs\msys64\mingw64\include library-path=C:\programs\msys64\mingw64\lib -sICU_PATH=C:\programs\msys64\mingw64\

b2 --toolset=gcc address-model=64 -a --reconfigure boost.locale.iconv=off boost.locale.icu=on include=C:/programs/msys64/mingw64/include library-path=C:/programs/msys64/mingw64/lib -sICU_PATH=C:/programs/msys64/mingw64/ -sICU_LINK=C:/programs/msys64/mingw64/ b2 --toolset=gcc address-model=64 -a --reconfigure boost.locale.iconv=off boost.locale.icu=on include=C:\programs\msys64\mingw64\include library-path=C:\programs\msys64\mingw64\lib -sICU_PATH=C:\programs\msys64\mingw64\ -sICU_LINK=C:/programs/msys64/mingw64/


Actual behavior summary

When I give one of the above commands, in every case b2 writes ICU : no ICU builds : no even if I specify the folder. At least I should have expected b2 to block the build and tell me : in this folder there are no the ICU include files that I'm searching, or "in this other folder I can't find these binaries that I'm looking for"

If a project of yours is blocked due to this bug, please, mention it explicitly.

Attach, or place here, log output showing the bug including running
with the options: -d2 --debug-configuration

Expected behavior summary

When I give an appropriate command to find ICU, b2 will write ICU : yes ICU builds yes and of course will build boost (and in particular, boost::locale) using ICU support from the ICU package found in msys2 internal directories.

crillion avatar Sep 15 '22 15:09 crillion

What version of Boost are you trying to use?

grafikrobot avatar Oct 23 '22 04:10 grafikrobot

sorry, Boost 1.80. I added this info also in the original post.

crillion avatar Oct 23 '22 18:10 crillion

With boost 1.85 and the following options (and a definitely-present icu under that path)

b2 install ^
    boost.locale.icu=on ^
    boost.locale.std=on ^
    boost.locale.winapi=on ^
    -s ICU_PATH=%LIBRARY_PREFIX% ^
    [...]

I still get:

    - has_icu builds           : no [2]
    - iconv (libc)             : no [2]
    - iconv (separate)         : yes [2]
    - icu                      : no [2]

h-vetinari avatar Jun 06 '24 06:06 h-vetinari

Try running b2 with --debug-configuration, it should output if it sees that -s ICU_PATH=.

grisumbras avatar Jun 07 '24 19:06 grisumbras