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

'unicode/ubidi.h: No such file or directory' error for QtLocation.mapbox-gl-native builds using mingw-w64 on Windows

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.9.4
    • 5.9
    • None
    • * Windows 10 x64,
       * mingw-w64 x86_64 7.2.0.

    Description

      Hello everyone,

      Got errors for builds using mingw-w64:

      Checking for ICU... 
      Trying source 0 (type inline) of library icu ...
      + cd /d C:libQT-5.10-dev\build\config.tests\icu && C:libQT-5.10-dev\build\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "LIBS += -Lc:\\libQT-5.10-dev\\build\\..\\..\\libICU-59.1\\GCC64RH/lib -licuin -licuuc -licudt" "INCLUDEPATH *= c:\\libQT-5.10-dev\\build\\..\\..\\libICU-59.1\\GCC64RH/include" c:/libQT-5.10-dev/build/config.tests/icu
      + cd /d C:libQT-5.10-dev\build\config.tests\icu && set MAKEFLAGS=& mingw32-make
      > g++ -c -fno-keep-inline-dllexport -O2 -Wextra -Wall -W -fexceptions -mthreads -DUNICODE -D_UNICODE -I. -IC:libICU-59.1\GCC64RH\include -IC:libQT-5.10-dev\build\qtbase\mkspecs\win32-g++  -o main.o main.cpp
      > g++ -Wl,-s -Wl,-subsystem,console -mthreads -o icu.exe main.o  -LC:libICU-59.1\GCC64RH\lib -licuin -licuuc -licudt 
       => source accepted.
      test config.corelib.libraries.icu succeeded
      
      <snip>
      
      Qt Core:
        ICU .................................... yes
      
      <snip>
      
      mingw32-make[5]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/3rdparty/mapbox-gl-native'
      g++ -c -fno-keep-inline-dllexport -DNDEBUG -DQT_IMAGE_DECODERS -DRAPIDJSON_HAS_STDSTRING=1 -D__QT__ -O3 -ftemplate-depth=1024 -fvisibility-inlines-hidden -fvisibility=hidden -D_WINDOWS -DNOGDI -DNOMINMAX -D_USE_MATH_DEFINES -DMBGL_USE_GLES2 -DQT_OPENGL_ES_2 -DMBGL_VERSION_REV=\"qt-v1.1.0\" -O2 -std=c++1y -w -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Ideps\any\8fef1e9 -Ideps\any\8fef1e9\include -Ideps\boost\1.62.0 -Ideps\boost\1.62.0\include -Ideps/cheap-ruler/2.5.3 -Ideps/cheap-ruler/2.5.3/include -Ideps\earcut\0.12.3 -Ideps\earcut\0.12.3\include -Ideps\geojson\0.4.0 -Ideps\geojson\0.4.0\include -Ideps\geojsonvt\6.2.1 -Ideps\geojsonvt\6.2.1\include -Ideps\geometry\0.9.2 -Ideps\geometry\0.9.2\include -Ideps\kdbush\0.1.1-1 -Ideps\kdbush\0.1.1-1\include -Ideps/pixelmatch/0.10.0 -Ideps/pixelmatch/0.10.0/include -Ideps\polylabel\1.0.3 -Ideps\polylabel\1.0.3\include -Ideps\protozero\1.5.2 -Ideps\protozero\1.5.2\include -Ideps\rapidjson\1.1.0 -Ideps\rapidjson\1.1.0\include -Ideps\shelf-pack\2.1.1 -Ideps\shelf-pack\2.1.1\include -Ideps\supercluster\0.2.2 -Ideps\supercluster\0.2.2\include -Ideps\unique_resource\cba309e -Ideps\unique_resource\cba309e\include -Ideps\variant\1.1.4 -Ideps\variant\1.1.4\include -Ideps\vector-tile\1.0.0-rc7 -Ideps\vector-tile\1.0.0-rc7\include -Ideps\wagyu\0.4.3 -Ideps\wagyu\0.4.3\include -Iinclude -Iplatform\default -Iplatform\qt\include -Isrc -IC:libQT-5.10-dev\build\qtbase\include\QtNetwork\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtNetwork\5.10.0\QtNetwork -IC:libQT-5.10-dev\build\qtbase\include\QtGui\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtGui\5.10.0\QtGui -IC:libQT-5.10-dev\build\qtbase\include\QtSql\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtSql\5.10.0\QtSql -IC:libQT-5.10-dev\build\qtbase\include\QtCore\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtCore\5.10.0\QtCore -IC:libQT-5.10-dev\build\qtbase\include -IC:libQT-5.10-dev\build\qtbase\include\QtNetwork -IC:libQT-5.10-dev\build\qtbase\include\QtGui -IC:libQT-5.10-dev\build\qtbase\include\QtANGLE -IC:libQT-5.10-dev\build\qtbase\include\QtSql -IC:libQT-5.10-dev\build\qtbase\include\QtCore -I.moc\release -IC:libOPENSSL-1.1.0f\GCC64RH\include -IC:libQT-5.10-dev\build\qtbase\mkspecs\win32-g++  -o .obj\release\bidi.o platform\default\bidi.cpp
      g++ -c -fno-keep-inline-dllexport -DNDEBUG -DQT_IMAGE_DECODERS -DRAPIDJSON_HAS_STDSTRING=1 -D__QT__ -O3 -ftemplate-depth=1024 -fvisibility-inlines-hidden -fvisibility=hidden -D_WINDOWS -DNOGDI -DNOMINMAX -D_USE_MATH_DEFINES -DMBGL_USE_GLES2 -DQT_OPENGL_ES_2 -DMBGL_VERSION_REV=\"qt-v1.1.0\" -O2 -std=c++1y -w -fexceptions -mthreads -DUNICODE -D_UNICODE -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I. -Ideps\any\8fef1e9 -Ideps\any\8fef1e9\include -Ideps\boost\1.62.0 -Ideps\boost\1.62.0\include -Ideps/cheap-ruler/2.5.3 -Ideps/cheap-ruler/2.5.3/include -Ideps\earcut\0.12.3 -Ideps\earcut\0.12.3\include -Ideps\geojson\0.4.0 -Ideps\geojson\0.4.0\include -Ideps\geojsonvt\6.2.1 -Ideps\geojsonvt\6.2.1\include -Ideps\geometry\0.9.2 -Ideps\geometry\0.9.2\include -Ideps\kdbush\0.1.1-1 -Ideps\kdbush\0.1.1-1\include -Ideps/pixelmatch/0.10.0 -Ideps/pixelmatch/0.10.0/include -Ideps\polylabel\1.0.3 -Ideps\polylabel\1.0.3\include -Ideps\protozero\1.5.2 -Ideps\protozero\1.5.2\include -Ideps\rapidjson\1.1.0 -Ideps\rapidjson\1.1.0\include -Ideps\shelf-pack\2.1.1 -Ideps\shelf-pack\2.1.1\include -Ideps\supercluster\0.2.2 -Ideps\supercluster\0.2.2\include -Ideps\unique_resource\cba309e -Ideps\unique_resource\cba309e\include -Ideps\variant\1.1.4 -Ideps\variant\1.1.4\include -Ideps\vector-tile\1.0.0-rc7 -Ideps\vector-tile\1.0.0-rc7\include -Ideps\wagyu\0.4.3 -Ideps\wagyu\0.4.3\include -Iinclude -Iplatform\default -Iplatform\qt\include -Isrc -IC:libQT-5.10-dev\build\qtbase\include\QtNetwork\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtNetwork\5.10.0\QtNetwork -IC:libQT-5.10-dev\build\qtbase\include\QtGui\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtGui\5.10.0\QtGui -IC:libQT-5.10-dev\build\qtbase\include\QtSql\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtSql\5.10.0\QtSql -IC:libQT-5.10-dev\build\qtbase\include\QtCore\5.10.0 -IC:libQT-5.10-dev\build\qtbase\include\QtCore\5.10.0\QtCore -IC:libQT-5.10-dev\build\qtbase\include -IC:libQT-5.10-dev\build\qtbase\include\QtNetwork -IC:libQT-5.10-dev\build\qtbase\include\QtGui -IC:libQT-5.10-dev\build\qtbase\include\QtANGLE -IC:libQT-5.10-dev\build\qtbase\include\QtSql -IC:libQT-5.10-dev\build\qtbase\include\QtCore -I.moc\release -IC:libOPENSSL-1.1.0f\GCC64RH\include -IC:libQT-5.10-dev\build\qtbase\mkspecs\win32-g++  -o .obj\release\async_task.o platform\qt\src\async_task.cpp
      mingw32-make[4]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/geoclue'
      mingw32-make -f Makefile.Release
      mingw32-make[4]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/positionpoll'
      mingw32-make -f Makefile.Release
      mingw32-make[4]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/serialnmea'
      mingw32-make -f Makefile.Release
      platform\default\bidi.cpp:4:10: fatal error: unicode/ubidi.h: No such file or directory
       #include <unicode/ubidi.h>
                ^~~~~~~~~~~~~~~~~
      compilation terminated.
      mingw32-make[5]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/positionpoll'
      mingw32-make[5]: Nothing to be done for 'first'.
      mingw32-make[5]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/positionpoll'
      mingw32-make[4]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/positionpoll'
      mingw32-make[5]: *** [Makefile.Release:2012: .obj/release/bidi.o] Error 1
      mingw32-make[5]: *** Waiting for unfinished jobs....
      mingw32-make[5]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/serialnmea'
      mingw32-make[5]: Nothing to be done for 'first'.
      mingw32-make[5]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/serialnmea'
      mingw32-make[4]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/serialnmea'
      mingw32-make[5]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/geoclue'
      mingw32-make[5]: Nothing to be done for 'first'.
      mingw32-make[5]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/geoclue'
      mingw32-make[4]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position/geoclue'
      mingw32-make[3]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/position'
      mingw32-make[5]: Entering directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/geoservices/osm'
      mingw32-make[5]: Nothing to be done for 'first'.
      mingw32-make[5]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/geoservices/osm'
      mingw32-make[4]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/geoservices/osm'
      mingw32-make[5]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/3rdparty/mapbox-gl-native'
      mingw32-make[4]: *** [Makefile:36: release] Error 2
      mingw32-make[4]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/3rdparty/mapbox-gl-native'
      mingw32-make[3]: *** [Makefile:197: sub-------3rdparty-mapbox-gl-native-make_first] Error 2
      mingw32-make[3]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins/geoservices'
      mingw32-make[2]: *** [Makefile:67: sub-geoservices-make_first] Error 2
      mingw32-make[2]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src/plugins'
      mingw32-make[1]: *** [Makefile:200: sub-plugins-make_first] Error 2
      mingw32-make[1]: Leaving directory 'c:/libQT-5.10-dev/build/qtlocation/src'
      mingw32-make: *** [Makefile:43: sub-src-make_first] Error 2

      Reproduced for:

      • QtLocation (05703dd5271a2b25ee18dda6c136a5bee0f92629) builds using mingw-w64,

      not reproduced for:

      • QtLocation (05703dd5271a2b25ee18dda6c136a5bee0f92629) builds using ICC on Windows and MSVC,
      • QtLocation (b68b88373beb884c77ec9813cac1e9a79854b957) builds using mingw-w64.

      Since error relate to missing ICU headers, and considering that change afdc4f439c82cfa70f6fb6a66c816ba540226f43 removed file qtbase/src/3rdparty/icu_dependency.pri dependency in favor of usage ICU, detected during configuration, it could make sence to do the same for file qtlocation/src/3rdparty/icu_dependency.pri too (along with file qtlocation/src/3rdparty/zlib_dependency.pri BTW).

      Alexander

       

      Attachments

        For Gerrit Dashboard: QTBUG-62944
        # Subject Branch Project Status CR V

        Activity

          People

            tmpsantos Thiago Marcos P. Santos
            sav sav
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes