QT 5.5.1 compile still uses system ICU despite pkg-config setting

  • I cannot upgrade to newer than 5.5.1 release yet because of webkit deprecation.
    Compiling QT 5.5.1 to use locally compiled and installed (at ~/icudir/) ICU libraries on Linux x86_64.
    After compiling ldd Qt5Core.so.5.5.1 still shows system ICU, not the one at ~/icudir/.

    Configure ->

    PKG_CONFIG_PATH=~/icudir/lib/pkgconfig:$(PKG_CONFIG_PATH) ./configure -release -opensource -confirm-license -nomake-tests -nomake examples  -platform -prefix ~/myqt/

    Make ->

    PKG_CONFIG_PATH=~/icudir/lib/pkgconfig LD_LIBRARY_PATH="~/icudir/lib" CXXFLAGS="-fPIC -I~/icudir/include/"  LDFLAGS="-L~/icudir/lib -licui18n -licuuc -licudata" make -j 8

    Any ideas are appreciated!

  • If you change icu_dependency.pri file to include the following for a given platform then it compiles as expected.

    INCLUDEPATH += <icudir>/include
    LIBS += -L<icudir>/lib 

    But I believe that its unclean and there should be a better way of specifying where to find 3rd party libraries from configure script or at least via make arguments.

  • Figured the problem.
    If you call configure script with "-icu" option then pkg-config isn't taking effect. This is counter-intuitive.
    Also "LD_LIBRARY_PATH=<icudir>" is required during make because what seems to be a bug in some webkit subdirectory which doesnt respect PKG_CONFIG_PATH.

    Once "-no-icu", PKG_CONFIG_PATH in configure script and PKG_CONFIG_PATH, LD_LIBRARY_PATH in make are specified it works fine.

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.