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

Imported target "WrapHarfbuzz::WrapHarfbuzz" includes non-existent path

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3: Somewhat important P3: Somewhat important
    • 6.7.0 FF
    • 6.5.3, 6.6.0
    • Build System: CMake
    • None
    • Windows
    • 885d87488 (dev)

      qtbase fails to build with -DFEATURE_system_harfbuzz=ON when harfbuzz.pc exists (as installed by harfbuzz 8.2.1). Deleting harfbuzz.pc and everything works. Although I see nothing wrong with the pc file.

      I also build Qt for mac including all libraries, and I ran into the same issue there, so I don't think it's specific to OS. I use pkgconf (http://pkgconf.org/) on both Windows and mac.

      harfbuzz.pc for Windows looks like this:

      prefix=c:/strawberry_msvc_x86_64_debug
      includedir=${prefix}/include
      libdir=${prefix}/lib
      Name: harfbuzz
      Description: HarfBuzz text shaping library
      Version: 8.2.1
      Requires.private: freetype2, glib-2.0
      Libs: -L${libdir} -lharfbuzz
      Cflags: -I${includedir}/harfbuzz
      

       

      Full verbose cmake log:

       

      c:\Data\Projects\strawberry\msvc_\build_debug\qtbase-everywhere-src-6.5.3>cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX="c:/strawberry_msvc_x86_64_debug" -DBUILD_SHARED_LIBS=ON -DPKG_CONFIG_EXECUTABLE="c:/strawberry_msvc_x86_64_debug/bin/pkgconf.exe" -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_BENCHMARKS=OFF -DQT_BUILD_TESTS=OFF -DQT_BUILD_EXAMPLES_BY_DEFAULT=OFF -DQT_BUILD_TOOLS_BY_DEFAULT=ON -DQT_WILL_BUILD_TOOLS=ON -DBUILD_WITH_PCH=OFF -DFEATURE_rpath=OFF -DFEATURE_pkg_config=ON -DFEATURE_accessibility=ON -DFEATURE_brotli=ON -DFEATURE_fontconfig=OFF -DFEATURE_freetype=ON -DFEATURE_harfbuzz=ON -DFEATURE_pcre2=ON -DFEATURE_schannel=ON -DFEATURE_openssl=ON -DFEATURE_openssl_linked=ON -DFEATURE_opengl=ON -DFEATURE_opengl_dynamic=ON -DFEATURE_use_gold_linker_alias=OFF -DFEATURE_glib=ON -DFEATURE_icu=ON -DFEATURE_directfb=OFF -DFEATURE_dbus=OFF -DFEATURE_sql=ON -DFEATURE_sql_sqlite=ON -DFEATURE_sql_odbc=OFF -DFEATURE_jpeg=ON -DFEATURE_png=ON -DFEATURE_gif=ON -DFEATURE_style_windows=ON -DFEATURE_style_windowsvista=ON -DFEATURE_system_zlib=ON -DFEATURE_system_png=ON -DFEATURE_system_jpeg=ON -DFEATURE_system_pcre2=ON -DFEATURE_system_freetype=ON -DFEATURE_system_harfbuzz=ON -DFEATURE_system_sqlite=ON -DICU_ROOT="c:/strawberry_msvc_x86_64_debug"   || goto end
      -- The CXX compiler identification is MSVC 19.36.32537.0
      -- The C compiler identification is MSVC 19.36.32537.0
      -- The ASM compiler identification is MSVC
      -- Found assembler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
                  -DCMAKE_C_FLAGS=/DWIN32 /D_WINDOWS
                  -DCMAKE_C_FLAGS_DEBUG=/Zi /Ob0 /Od /RTC1
                  -DCMAKE_C_FLAGS_RELEASE=/O2 /Ob2 /DNDEBUG
                  -DCMAKE_C_FLAGS_RELWITHDEBINFO=/Zi /O2 /Ob1 /DNDEBUG
                  -DCMAKE_CXX_FLAGS=/DWIN32 /D_WINDOWS /GR /EHsc
                  -DCMAKE_CXX_FLAGS_DEBUG=/Zi /Ob0 /Od /RTC1
                  -DCMAKE_CXX_FLAGS_RELEASE=/O2 /Ob2 /DNDEBUG
                  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO=/Zi /O2 /Ob1 /DNDEBUG
                  -DCMAKE_EXE_LINKER_FLAGS=/machine:x64
                  -DCMAKE_C_STANDARD=11
                  -DCMAKE_C_STANDARD_REQUIRED=ON
                  -DCMAKE_CXX_STANDARD=17
                  -DCMAKE_CXX_STANDARD_REQUIRED=ON
                  -DCMAKE_MODULE_PATH:STRING=C:/Data/Projects/strawberry/msvc_/build_debug/qtbase-everywhere-src-6.5.3/cmake/platforms
      -- Configuration summary shown below. It has also been written to C:/Data/Projects/strawberry/msvc_/build_debug/qtbase-everywhere-src-6.5.3/build/config.summary
      -- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations.
      -- Configure summary:
      Building for: win32-msvc (x86_64, CPU features: sse sse2)
      Compiler: msvc 19.36.32537.0
      Build options:
        Mode ................................... debug
        Fully optimize release builds (-O3) .... no
        Building shared libraries .............. yes
        Using C standard ....................... C11
        Using C++ standard ..................... C++17
        Unity Build ............................ no
        Relocatable ............................ yes
        Using precompiled headers .............. no
        Using Link Time Optimization (LTCG) .... no
        Using Intel CET ........................ no
        Target compiler supports:
          x86 Intrinsics ....................... Basic VAES AVX512VBMI2
        Sanitizers:
          Addresses ............................ no
          Threads .............................. no
          Memory ............................... no
          Fuzzer (instrumentation only) ........ no
          Undefined ............................ no
        Build parts ............................ libs tools
        App store compliance ................... no
      Qt modules and options:
        Qt Concurrent .......................... yes
        Qt D-Bus ............................... no
        Qt D-Bus directly linked to libdbus .... no
        Qt Gui ................................. yes
        Qt Network ............................. yes
        Qt PrintSupport ........................ yes
        Qt Sql ................................. yes
        Qt Testlib ............................. yes
        Qt Widgets ............................. yes
        Qt Xml ................................. yes
      Support enabled for:
        Using pkg-config ....................... yes
        udev ................................... no
        OpenSSL ................................ yes
          Qt directly linked to OpenSSL ........ yes
        OpenSSL 1.1 ............................ no
        OpenSSL 3.0 ............................ yes
        Using system zlib ...................... yes
        Zstandard support ...................... no
        Thread support ......................... yes
      Common build options:
        Linker can resolve circular dependencies  yes
      Qt Core:
        backtrace .............................. no
        DoubleConversion ....................... yes
          Using system DoubleConversion ........ no
        GLib ................................... yes
        ICU .................................... yes
        Using system libb2 ..................... no
        Built-in copy of the MIME database ..... yes
        cpp/winrt base ......................... yes
        Tracing backend ........................ <none>
        Logging backends:
          journald ............................. no
          syslog ............................... no
          slog2 ................................ no
        PCRE2 .................................. yes
          Using system PCRE2 ................... yes
        Application permissions ................ no
      Qt Sql:
        SQL item models ........................ yes
      Qt Network:
        getifaddrs() ........................... no
        IPv6 ifname ............................ no
        libproxy ............................... no
        Schannel ............................... yes
        DTLS ................................... yes
        OCSP-stapling .......................... yes
        SCTP ................................... no
        Use system proxies ..................... yes
        GSSAPI ................................. no
        Brotli Decompression Support ........... yes
        qIsEffectiveTLD() ...................... yes
          Built-in publicsuffix database ....... yes
          System publicsuffix database ......... no
      Core tools:
        Android deployment tool ................ yes
        macOS deployment tool .................. no
        Windows deployment tool ................ yes
        qmake .................................. yes
      Qt Gui:
        Accessibility .......................... yes
        FreeType ............................... yes
          Using system FreeType ................ yes
        HarfBuzz ............................... yes
          Using system HarfBuzz ................ yes
        Fontconfig ............................. no
        Image formats:
          GIF .................................. yes
          ICO .................................. yes
          JPEG ................................. yes
            Using system libjpeg ............... yes
          PNG .................................. yes
            Using system libpng ................ yes
        Text formats:
          HtmlParser ........................... yes
          CssParser ............................ yes
          OdfWriter ............................ yes
          MarkdownReader ....................... yes
            Using system libmd4c ............... no
          MarkdownWriter ....................... yes
        EGL .................................... no
        OpenVG ................................. no
        OpenGL:
          Desktop OpenGL ....................... no
          Dynamic OpenGL ....................... yes
          OpenGL ES 2.0 ........................ no
          OpenGL ES 3.0 ........................ no
          OpenGL ES 3.1 ........................ no
          OpenGL ES 3.2 ........................ no
        Vulkan ................................. no
        Session Management ..................... yes
      Features used by QPA backends:
        evdev .................................. no
        libinput ............................... no
        HiRes wheel support in libinput ........ no
        INTEGRITY HID .......................... no
        mtdev .................................. no
        tslib .................................. no
        xkbcommon .............................. no
        X11 specific:
          XLib ................................. no
          XCB Xlib ............................. no
          EGL on X11 ........................... no
          xkbcommon-x11 ........................ no
          xcb-sm ............................... no
      QPA backends:
        DirectFB ............................... no
        EGLFS .................................. no
        EGLFS details:
          EGLFS OpenWFD ........................ no
          EGLFS i.Mx6 .......................... no
          EGLFS i.Mx6 Wayland .................. no
          EGLFS RCAR ........................... no
          EGLFS EGLDevice ...................... no
          EGLFS GBM ............................ no
          EGLFS VSP2 ........................... no
          EGLFS Mali ........................... no
          EGLFS Raspberry Pi ................... no
          EGLFS X11 ............................ no
        LinuxFB ................................ no
        VNC .................................... no
        VK_KHR_display ......................... no
        QNX:
          lgmon ................................ no
          IMF .................................. no
        XCB:
          Using system-provided xcb-xinput ..... no
          GL integrations:
            GLX Plugin ......................... no
              XCB GLX .......................... no
            EGL-X11 Plugin ..................... no
        Windows:
          Direct 2D ............................ yes
          Direct 2D 1.1 ........................ yes
          DirectWrite .......................... yes
          DirectWrite 3 ........................ yes
      Qt Widgets:
        GTK+ ................................... no
        Styles ................................. Fusion Windows WindowsVista
      Qt Testlib:
        Tester for item models ................. yes
        Batch tests ............................ no
      Qt PrintSupport:
        CUPS ................................... no
      Qt Sql Drivers:
        DB2 (IBM) .............................. no
        InterBase .............................. no
        MySql .................................. no
        OCI (Oracle) ........................... no
        ODBC ................................... no
        PostgreSQL ............................. no
        SQLite ................................. yes
          Using system provided SQLite ......... yes
      
      --
      Qt is now configured for building. Just run 'cmake --build . --parallel'
      Once everything is built, you must run 'cmake --install .'
      Qt will be installed into 'C:/strawberry_msvc_x86_64_debug'
      To configure and build other Qt modules, you can use the following convenience script:
              C:/strawberry_msvc_x86_64_debug/bin/qt-configure-module.bat
      If reconfiguration fails for some reason, try removing 'CMakeCache.txt' from the build directory
      Alternatively, you can add the --fresh flag to your CMake flags.
      -- Configuring done (50.4s)
      CMake Error in src/gui/CMakeLists.txt:
        Imported target "WrapHarfbuzz::WrapHarfbuzz" includes non-existent path
          "c:/strawberry_msvc_x86_64_debugc:/strawberry_msvc_x86_64_debug/include"
        in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
        * The path was deleted, renamed, or moved to another location.
        * An install or uninstall procedure did not complete successfully.
        * The installation package was faulty and references files it does not
        provide.
       
      CMake Error in src/gui/CMakeLists.txt:
        Imported target "WrapHarfbuzz::WrapHarfbuzz" includes non-existent path
          "c:/strawberry_msvc_x86_64_debugc:/strawberry_msvc_x86_64_debug/include"
        in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
        * The path was deleted, renamed, or moved to another location.
        * An install or uninstall procedure did not complete successfully.
        * The installation package was faulty and references files it does not
        provide.
       
      CMake Error in src/gui/CMakeLists.txt:
        Imported target "WrapHarfbuzz::WrapHarfbuzz" includes non-existent path
          "c:/strawberry_msvc_x86_64_debugc:/strawberry_msvc_x86_64_debug/include"
        in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
        * The path was deleted, renamed, or moved to another location.
        * An install or uninstall procedure did not complete successfully.
        * The installation package was faulty and references files it does not
        provide.
       
      CMake Error in src/gui/CMakeLists.txt:
        Imported target "WrapHarfbuzz::WrapHarfbuzz" includes non-existent path
          "c:/strawberry_msvc_x86_64_debugc:/strawberry_msvc_x86_64_debug/include"
        in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:
        * The path was deleted, renamed, or moved to another location.
        * An install or uninstall procedure did not complete successfully.
        * The installation package was faulty and references files it does not
        provide.
       
      -- Generating done (1.1s)
      CMake Generate step failed.  Build files cannot be regenerated correctly.
      

      For Windows the issue occurs both on a Windows 10 PC and in GitHub Actions.

      Here is how I build Qt:

      Windows GitHub actions:
      https://github.com/strawberrymusicplayer/strawberry-msvc-dependencies/blob/master/.github/workflows/build.yml#L2406

      Windows batch file:
      https://github.com/strawberrymusicplayer/strawberry-msvc/blob/cbd01e84574e8025f6e51803e99574dc7a710f41/build.bat#L1453

      macOS:
      https://github.com/strawberrymusicplayer/strawberry-macos-dependencies/blob/40bee94dbedd1a9d25c02d52b6188f05111ee290/.github/workflows/build.yml#L2749

       

        1. cmake_trace.zip
          3.74 MB
          Jonas Kvinge
        2. cmake-output.log
          36 kB
          Jonas Kvinge
        3. cmake-macos.log
          14 kB
          Jonas Kvinge
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtbuildsystem Qt Build System Team
            jonaski Jonas Kvinge
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes