-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[boost] boost/1.7?.0: Windows cannot use ICU as i18n backend #4870
Comments
A release build of ICU on windows has these libraries under lib:
|
Is it the log of your Release build? On Windows, all icu libs has |
Yes - you can see from that list, the libs specified are a mixture of debug: |
Further testing seems to show that when only |
Is there a way I can specify that the libs are not in
|
I've took a look, and unfortunately, it seems to be very broken in boost itself studying boost.locale, by default it searches some hard-coded library names for ICU (e.g.
as it has newer approach to specify library names: in other words, we're running into the issue boostorg/locale#55 I think it will require at very least new PR to boost::locale module to apply changes similar to boostorg/regex@fc4dc17 /cc @grafikrobot |
okay, I went ahead and opened PR: boostorg/locale#70
once it's merged into boost, we can prepare PR for conan recipe to support new variables |
Unfortunately it seems like this is still broken - is there something that can be done to help get this resolved? |
Sorry, I had completely forgotten that this PR existed. @SSE4 I don't think really anyone is an expert in b2, boost jam and boost build - which is why I was hoping for the CMake build to come to fruition, but that seems to still be more of a novelty. I'm afraid we don't have the resources to commit to this. |
@datalogics-robb thee only b2 / boost jam / boost build expert I know is @grafikrobot
in general, more noise we do about it on various communication channels - more chances boost developers realize it's important and prioritize it |
FWIW, it appears that this "only" affects icu+boost setups where I've also started a thread on the cpplang slack. |
Boost can be configured to use the ICU library for unicode support in locale and regex, and I have been able to get that configuration working on Mac, Linux, Solaris and AIX, but no combination of shared/static runtime, shared or static libraries, debug or release builds will configure boost to use ICU.
A stack overflow question hints at the reason why:
https://stackoverflow.com/questions/12142571/building-and-using-boost-for-windows-visual-studio-with-a-custom-icu
when it mentions that both debug and release libs and DLLs need to be copied into the icu distribution folder.
To reproduce, it is also important to remove the previous configuration run's cache
project-cache.jam
and then to examine the output saved toconfig.log
in the same directory.This project should probably attempt to build such a configuration in CI to verify that it is broken, or to verify when it is fixed.
Package and Environment Details (include every applicable attribute)
Conan profile (output of
conan profile show default
orconan profile show <profile>
if custom profile is in use)Steps to reproduce (Include if Applicable)
Use option
-o i18n_backend=icu
when building boost, and verify the boost b2 check for ICU fails and reports no icu used.Logs (Include/Attach if Applicable)
Click to expand log
Component configuration:
The text was updated successfully, but these errors were encountered: