Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-120742

The -no-icu flag has no effect if icu-devel is present on the machine and qt is built with the webengine

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 6.5.3
    • Build System
    • None
    • redhat 8
      libicu-devel-60.3-2.el8_1
    • Linux/Wayland

    Description

      I am building Qt 6.5.3 without ICU and with the WebEngine.

      So, I used the -no-icu flag to deactivate ICU in non webengine module.

      In the config.summary file, I can see the following report:

      Qt Core:
        backtrace .............................. yes
        DoubleConversion ....................... yes
          Using system DoubleConversion ........ no
        GLib ................................... yes
        ICU .................................... yes
        Using system libb2 ..................... no
        Built-in copy of the MIME database ..... yes
      --
          Build QtWebEngineQuick ............... yes
        Build QtPdf Modules:
          Build QtPdfWidgets ................... yes
          Build QtPdfQuick ..................... yes
        Optional system libraries:
          re2 .................................. no
          icu .................................. no
          libwebp, libwebpmux and libwebpdemux . no
          opus ................................. no

      So, the summary tells that QtCore ICU is activated despite the use of no-icu and that the optional system library icu is not used.

      And when using ldd to check if QtCore /QtWebEngine are dependent or not on ICU, I've got:
       

      $ ldd libQt6Core.so.6.5.3  
      linux-vdso.so.1 (0x00007ffd77198000) 
      libicui18n.so.60 => /lib64/libicui18n.so.60 (0x00007ffa35297000)
      libicuuc.so.60 => /lib64/libicuuc.so.60 (0x00007ffa34ed5000) 
      libicudata.so.60 => /lib64/libicudata.so.60 (0x00007ffa3332b000) 
      libdl.so.2 => /lib64/libdl.so.2 (0x00007ffa33127000)
      
      $ ldd libQt6WebEngineCore.so.6.5.3 
      libicui18n.so.60 => /lib64/libicui18n.so.60 (0x00007fc2ae534000)
      libicuuc.so.60 => /lib64/libicuuc.so.60 (0x00007fc2ae172000) 
      libicudata.so.60 => /lib64/libicudata.so.60 (0x00007fc2ac5c8000)

       
      I have not used the -system-webengine-icu flag so, I am surprised to see that Qt6WebEngineCore is dependent on the system ICU ...

      For me, Qt6WebEngine should depend on system ICU if the -system-webengine-icu is provided at configure time.

      And despite the use of the -no-icu flag, Qt6Core is still dependent too on system ICU.

      So, maybe the fact that we built Qt with the Webengine activate the -icu flag by default ?

      My question is: is it possible to build Qt with the WebEngine, with the ICU embedded in Qt sources ?

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qtbuildsystem Qt Build System Team
            ycollette Yann Collette
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes