Open crillion opened 2 years ago
What version of Boost are you trying to use?
sorry, Boost 1.80. I added this info also in the original post.
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]
Try running b2 with --debug-configuration
, it should output if it sees that -s ICU_PATH=
.
Make sure you completed the following tasks
Environment and version details
b2 --debug-configuration
in your project.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.
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.