Bug 759923 - Control whether icu support is built
Control whether icu support is built
Product: Fedora
Classification: Fedora
Component: qt (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Ngo Than
Fedora Extras Quality Assurance
: Reopened
Depends On:
  Show dependency treegraph
Reported: 2011-12-04 16:38 EST by Ville Skyttä
Modified: 2012-01-03 20:51 EST (History)
10 users (show)

See Also:
Fixed In Version: qt-4.8.0-5.fc16
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-01-03 20:51:42 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Ville Skyttä 2011-12-04 16:38:09 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).
Comment 1 Rex Dieter 2011-12-05 10:08:13 EST

* Sun Dec 04 2011 Rex Dieter <rdieter@fedoraproject.org> 4.8.0-0.28.rc1
- Control whether icu support is built (#759923)
Comment 2 Ville Skyttä 2011-12-05 11:00:15 EST
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.
Comment 3 Rex Dieter 2011-12-05 11:10:42 EST
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.
Comment 4 Ville Skyttä 2011-12-05 13:50:12 EST
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 :))
Comment 5 Fedora Update System 2011-12-14 07:10:15 EST
qt-4.8.0-0.29.rc1.fc16 has been submitted as an update for Fedora 16.
Comment 6 Ville Skyttä 2011-12-14 17:06:50 EST
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.
Comment 7 Rex Dieter 2011-12-16 09:06:52 EST
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
Comment 8 Vedran Miletić 2011-12-19 06:01:15 EST
Are you sure there are no crashes if libicu is missing?
Comment 9 Rex Dieter 2011-12-19 12:11:11 EST
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.  :(
Comment 10 Rex Dieter 2011-12-19 12:24:50 EST
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
Comment 11 Ville Skyttä 2011-12-19 14:24:27 EST
Better or worse, dunno, but one more option nevertheless:

5. explicitly build without icu
Comment 12 Fedora Update System 2011-12-20 18:41:04 EST
qt-4.8.0-3.fc16 has been submitted as an update for Fedora 16.
Comment 13 Fedora Update System 2011-12-22 17:45:49 EST
Package qt-4.8.0-3.fc16:
* 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).
Comment 14 Fedora Update System 2011-12-22 17:47:24 EST
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.
Comment 15 Fedora Update System 2012-01-03 20:51:42 EST
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.

Note You need to log in before you can comment on or make changes to this bug.