Red Hat Bugzilla – Bug 759923
Control whether icu support is built
Last modified: 2012-01-03 20:51:42 EST
qt's build autodetects icu and enables it if available; at least for reproducible builds enabling it should be better controlled in the specfile. Enabling it would apparently be a matter of "BuildRequires: libicu-devel" (haven't looked into whether it'd be actually desirable).
* Sun Dec 04 2011 Rex Dieter <email@example.com> 4.8.0-0.28.rc1
- Control whether icu support is built (#759923)
Having looked at the results, I think that if icu support is turned on, an explicit dependency on libicu should also be added. qt doesn't link to those libs but dynamically opens them so there are no automatic lib dependencies, see code in src/corelib/tools/qlocale_icu.cpp, qt_initIcu().
The explicit libicu dep should be versioned too, as the build time U_ICU_VERSION_SHORT (which is for example "48" in the icu 4.8 series) is used when loading the lib.
oh, arg, what's the upstream aversion to simply linking it here? :-/
k, thanks for the extra diligence to notice all the details i've missed.
NP, and there's always the option to explicitly disable ICU support if the problems enabling it outweigh the benefits (and I still haven't looked closely enough to be able to tell exactly what the benefits would be, nor do I actually plan to :))
qt-4.8.0-0.29.rc1.fc16 has been submitted as an update for Fedora 16.
The problem described in comment 2 is not yet taken care of in this build (icu support is built, but there's no icu dependency). I haven't tested, but I suppose it could cause regressions.
OK, after a cursory evaluation, at this time:
* we feel the code paths with and without libicu being present are relatively safe
* hard-coding a new ~19mb runtime dependency would be undesirable (especially for our admittedly english-only and space-constrained livecd)
* given the benefits of having libicu support at runtime, however, we're seriously considering adding it as a default item in @kde-desktop comps group
Are you sure there are no crashes if libicu is missing?
Confirmed no crashes, but ...
do get some potentially annoying spammage in ~/.xsession-errors:
Unable to load library icui18n "Cannot load library icui18n: (libicui18n.so.46: cannot open shared object file: No such file or directory)"
on launch of any qt (or kde) application. :(
So, I guess we've got some options:
1. do nothing
2. remove/silence the qWarning call in qlocale_icu.cpp (assuming building qt with -DQT_NO_DEBUG_OUTPUT and QT_NO_WARNING_OUTPUT is overkill).
3. add the dep to qt after all
4. some better idea
Better or worse, dunno, but one more option nevertheless:
5. explicitly build without icu
qt-4.8.0-3.fc16 has been submitted as an update for Fedora 16.
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qt-4.8.0-3.fc16'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
qt-4.8.0-0.29.rc1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
qt-4.8.0-5.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.