Static Qt 5.14.2 and ICU results in a much bigger AppImage – do I need ICU?
-
Hi :-)
I create an AppImage for one of my projects using a minimalistic static Qt. Until recently, I used Qt 5.7, and the AppImage was about 8 MB. I now had to update Qt due to the use of newer features. I still try to be as minimalistic as possible to keep the AppImage size small.
Doing the (hopefully?) smallest possible build in my Ubuntu 16.04.6 LTS VM, only having the packages listed in https://doc.qt.io/qt-5/linux-requirements.html and
libxkbcommon-dev
installed, the AppImage size is still about 8 MB. I get some strange warnings on the console though:Only C and default locale supported with the posix collation implementation Case insensitive sorting unsupported in the posix collation implementation Numeric mode unsupported in the posix collation implementation
I figured out that I can get rid of those by having
libicu-dev
installed when building my static Qt. This makes the messages disappear, but the AppImage size grows to 19 MB(!), because the following libs are included bylinuxdeployqt
:libicudata.so.55 (25M) libicui18n.so.55 (2,8M) libicuuc.so.55 (1,7M)
I wonder if I really need those (what about Qt 5.7? I didn't needed them there and didn't have any warnings), and if so, can I save some space anyhow?
Any help/explanation would be greatly appreciated! Thanks in advance!
-
What does ICU actually do when it's included in the Qt build? I just tried it, using a German locale here. Both the normal build created here with my current Gentoo installation using Qt installed via the distribution and the AppImage do the sorting correctly for the locale, and also case insensitive: I tried it with
A à a B b C ć S s ß T
(the C locale sorting would put all non-ASCII characters at the end of the list), and the result is the same.So do I even need that ICU stuff? But what about those warnings?!