Skip to content

[qt*] Update qt 6.9#45777

Merged
BillyONeal merged 55 commits intomicrosoft:masterfrom
Neumann-A:update_qt_6.9
Aug 11, 2025
Merged

[qt*] Update qt 6.9#45777
BillyONeal merged 55 commits intomicrosoft:masterfrom
Neumann-A:update_qt_6.9

Conversation

@Neumann-A
Copy link
Contributor

No description provided.

@dg0yt
Copy link
Contributor

dg0yt commented May 31, 2025

Resolves #45707.
Resolves #38762.
Closes #45515.

@LilyWangLL LilyWangLL self-assigned this Jun 3, 2025
@LilyWangLL LilyWangLL changed the title Update qt 6.9 [qt*] Update qt 6.9 Jun 3, 2025
@LilyWangLL LilyWangLL added the category:port-update The issue is with a library, which is requesting update new revision label Jun 3, 2025
@xavier2k6
Copy link
Contributor

@Neumann-A
Copy link
Contributor Author

I need someone to actually look at these errors and tell me what of those are actual failures and which are just missing ci.feature.baseline entries.

@dg0yt
Copy link
Contributor

dg0yt commented Jun 16, 2025

qtbase[gles2]:arm64-android, qtbase[harfbuzz]:arm64-android, qtbase[widgets]:arm64-android show a dependency on freetype:

In file included from /mnt/vcpkg-ci/b/qtbase/src/here-src-6-6209bdfe44.clean/src/plugins/platforms/android/qandroidplatformfontdatabase.cpp:7:
/mnt/vcpkg-ci/b/qtbase/src/here-src-6-6209bdfe44.clean/src/plugins/platforms/android/qandroidplatformfontdatabase.h:7:10: fatal error: 'QtGui/private/qfreetypefontdatabase_p.h' file not found
    7 | #include <QtGui/private/qfreetypefontdatabase_p.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Maybe freetype is a general gui dependency on android?

qtbase[gles3]:arm64-android fails maybe due to SDK requirements:

The default platform SDK android-35 not found, using the latest installed android-34 instead.
CMake Error at cmake/QtBuildInformation.cmake:554 (message):
  Feature "opengles3": Forcing to "ON" breaks its condition:

      QT_FEATURE_opengles2 AND TEST_opengles3

  Condition values dump:

      QT_FEATURE_opengles2 = "ON"
      TEST_opengles3 = ""

qtbase[sql-oci] generally lacks an SDK. IMO the dependency on ocilib is wrong. This is a different lib.

qttools[qdoc] comes with a vendored build of parts of LLVM, and this fails for android.

@Neumann-A
Copy link
Contributor Author

Maybe freetype is a general gui dependency on android?

Yes it is. A typically case of Qt itself doesn't know which feature require which dependencies.

qtbase[gles3]:arm64-android

I would expect a recent arm device to support glesv3 (especially arm64)

        Run Build Command(s): /vcpkg/downloads/tools/ninja/1.12.1-linux/ninja -v cmTC_13fc0
        [1/2] /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android28 --sysroot=/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot -DHAVE_opengles3 -isystem /mnt/vcpkg-ci/installed/arm64-android/include -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -frtti -fexceptions  -fPIC    -std=gnu++17 -fPIE -MD -MT CMakeFiles/cmTC_13fc0.dir/src.cxx.o -MF CMakeFiles/cmTC_13fc0.dir/src.cxx.o.d -o CMakeFiles/cmTC_13fc0.dir/src.cxx.o -c /mnt/vcpkg-ci/b/qtbase/arm64-android-dbg/CMakeFiles/CMakeScratch/TryCompile-tSG0or/src.cxx
        [2/2] : && /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android28 --sysroot=/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -frtti -fexceptions  -fPIC -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--no-undefined-version -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments CMakeFiles/cmTC_13fc0.dir/src.cxx.o -o cmTC_13fc0  /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libGLESv2.so  /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libEGL.so  -latomic -lm && :
        FAILED: cmTC_13fc0 
        : && /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=aarch64-none-linux-android28 --sysroot=/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -frtti -fexceptions  -fPIC -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--no-undefined-version -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments CMakeFiles/cmTC_13fc0.dir/src.cxx.o -o cmTC_13fc0  /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libGLESv2.so  /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libEGL.so  -latomic -lm && :
        ld.lld: error: undefined symbol: glGetStringi
        >>> referenced by src.cxx:12
        >>>               CMakeFiles/cmTC_13fc0.dir/src.cxx.o:(main)
        >>> did you mean: glGetString
        >>> defined in: /android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libGLESv2.so
        
        ld.lld: error: undefined symbol: glReadBuffer
        >>> referenced by src.cxx:13
        >>>               CMakeFiles/cmTC_13fc0.dir/src.cxx.o:(main)
        
        ld.lld: error: undefined symbol: glUniformMatrix2x3fv
        >>> referenced by src.cxx:14
        >>>               CMakeFiles/cmTC_13fc0.dir/src.cxx.o:(main)
        
        ld.lld: error: undefined symbol: glMapBufferRange
        >>> referenced by src.cxx:15
        >>>               CMakeFiles/cmTC_13fc0.dir/src.cxx.o:(main)
        clang++: error: linker command failed with exit code 1 (use -v to see invocation)
        ninja: build stopped: subcommand failed.

looks like something is missing on the link line? The symbol should be available. Especially glReadBuffer.

qtbase[sql-oci] generally lacks an SDK. IMO the dependency on ocilib is wrong. This is a different lib.

removed

qttools[qdoc] comes with a vendored build of parts of LLVM, and this fails for android.

Added supports statement for it

@dg0yt
Copy link
Contributor

dg0yt commented Jun 17, 2025

looks like something is missing on the link line? The symbol should be available. Especially glReadBuffer.

The NDK has toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libGLESv3.so. But I see really no effort Qt's side to find and link the GLESv3 lib.

@Neumann-A
Copy link
Contributor Author

The NDK has toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/28/libGLESv3.so. But I see really no effort Qt's side to find and link the GLESv3 lib.

Interesting. normally, everything is just a stub redirecting to the real driver. I have a yocto image with a Mali driver and that just has libGLESv2 but still passes the glesv3 stuff

@Neumann-A Neumann-A marked this pull request as ready for review August 8, 2025 17:45
Copy link
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update!

@BillyONeal BillyONeal merged commit d76af7c into microsoft:master Aug 11, 2025
18 checks passed
@cgilles
Copy link

cgilles commented Aug 12, 2025

Hi,
Thanks to support this major VCPKG update to Qt 6.9.

Q: there is a specific reason to not bump to last Qt 6.9.1 instead the 6.9.0 as i can see on the current portfile properties ?

My best regards

Gilles Caulier

@Neumann-A Neumann-A deleted the update_qt_6.9 branch August 12, 2025 14:37
@BillyONeal
Copy link
Member

Q: there is a specific reason to not bump to last Qt 6.9.1 instead the 6.9.0 as i can see on the current portfile properties ?

#46892

@xavier2k6 xavier2k6 mentioned this pull request Oct 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category:port-update The issue is with a library, which is requesting update new revision

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants