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

linking of QtNetwork against GSSAPI fails on macOS with CMAKE_FIND_FRAMEWORK=LAST

    XMLWordPrintable

Details

    • macOS
    • 1bf144ba7 (dev), 3f6e0f5b6 (6.5), 41670375f (6.6)

    Description

      While trying to build the spack package qt-base with variant network (i.e. qtbase+network) I ran into the same issue that was reported against vcpkg: linking lib/QtNetwork.framework/Versions/A/QtNetwork fails with ___gss_c_nt_hostbased_service_oid_desc being unresolved in qauthenticator.cpp.

       

      Similar to vcpkg, spack also sets CMAKE_FIND_FRAMEWORK=LAST. Because of this GSSAPI_LIBRARIES in FindGSSAPI.cmake will end up with libgssapi_krb5 instead of the GSS framework. But the results from this FindGSSAPI.cmake are only partially honored on macOS:
      with Q_OS_DARWIN the code in src/network/kernel/qauthenticator.cpp includes <GSS/GSS.h> which is the header from the GSS framework, no matter what the contents of GSSAPI_INCLUDES, but linking will be done against $GSSAPI_LIBRARIES. Hence the inconsistency and linker error, if not the GSS framework is picked up.

       

      The patch from https://codereview.qt-project.org/c/qt/qtbase/+/478396 addresses this issue only partially, as the conflicting gssapi_krb5 is removed from the list of candidate libraries on APPLE only under the additional condition that Qt is built from vcpkg.

      Attachments

        Issue Links

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

          Activity

            People

              mrmsdbdl Amir Masoud Abdol
              aumuell Martin Aumueller
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes