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

QGtkStyle: linking error on Mac

    XMLWordPrintable

Details

    • macOS
    • qtbase/stable: 24d8bcf93a14545769154dae9ce06de2ef4c2430

    Description

      Steps to reproduce:

      • port install gtk2
      • ./configure -I /opt/local/include -L /opt/local/lib

      Linking error:

      clang++ -headerpad_max_install_names -mmacosx-version-min=10.6 -single_module -dynamiclib -compatibility_version	5.0 -current_version	5.0.0 -install_name	/Users/jpnurmi/Projects/qt5/qtbase/lib/QtWidgets.framework/Versions/5/QtWidgets_debug -o QtWidgets_debug .obj/debug-shared/qmacstyle_mac.o .obj/debug-shared/qscroller_mac.o .obj/debug-shared/qaction.o .obj/debug-shared/qactiongroup.o .obj/debug-shared/qapplication.o .obj/debug-shared/qwidgetbackingstore.o .obj/debug-shared/qboxlayout.o .obj/debug-shared/qformlayout.o .obj/debug-shared/qgridlayout.o .obj/debug-shared/qlayout.o .obj/debug-shared/qlayoutengine.o .obj/debug-shared/qlayoutitem.o .obj/debug-shared/qshortcut.o .obj/debug-shared/qstackedlayout.o .obj/debug-shared/qtooltip.o .obj/debug-shared/qwhatsthis.o .obj/debug-shared/qwidget.o .obj/debug-shared/qwidgetaction.o .obj/debug-shared/qgesture.o .obj/debug-shared/qstandardgestures.o .obj/debug-shared/qgesturerecognizer.o .obj/debug-shared/qgesturemanager.o .obj/debug-shared/qdesktopwidget.o .obj/debug-shared/qwidgetsvariant.o .obj/debug-shared/qapplication_qpa.o .obj/debug-shared/qdesktopwidget_qpa.o .obj/debug-shared/qwidget_qpa.o .obj/debug-shared/qwidgetwindow.o .obj/debug-shared/qdrawutil.o .obj/debug-shared/qstyle.o .obj/debug-shared/qstyleanimation.o .obj/debug-shared/qstylefactory.o .obj/debug-shared/qstyleoption.o .obj/debug-shared/qstyleplugin.o .obj/debug-shared/qstylehelper.o .obj/debug-shared/qcommonstyle.o .obj/debug-shared/qproxystyle.o .obj/debug-shared/qstylepainter.o .obj/debug-shared/qstylesheetstyle.o .obj/debug-shared/qstylesheetstyle_default.o .obj/debug-shared/qwindowsstyle.o .obj/debug-shared/qgtkstyle.o .obj/debug-shared/qgtkpainter.o .obj/debug-shared/qgtk2painter.o .obj/debug-shared/qgtkstyle_p.o .obj/debug-shared/qfusionstyle.o .obj/debug-shared/qabstractbutton.o .obj/debug-shared/qabstractslider.o .obj/debug-shared/qabstractspinbox.o .obj/debug-shared/qcalendarwidget.o .obj/debug-shared/qcheckbox.o .obj/debug-shared/qcombobox.o .obj/debug-shared/qcommandlinkbutton.o .obj/debug-shared/qdatetimeedit.o .obj/debug-shared/qdial.o .obj/debug-shared/qdialogbuttonbox.o .obj/debug-shared/qdockwidget.o .obj/debug-shared/qdockarealayout.o .obj/debug-shared/qeffects.o .obj/debug-shared/qfontcombobox.o .obj/debug-shared/qframe.o .obj/debug-shared/qgroupbox.o .obj/debug-shared/qlabel.o .obj/debug-shared/qlcdnumber.o .obj/debug-shared/qlineedit_p.o .obj/debug-shared/qlineedit.o .obj/debug-shared/qmainwindow.o .obj/debug-shared/qmainwindowlayout.o .obj/debug-shared/qmdiarea.o .obj/debug-shared/qmdisubwindow.o .obj/debug-shared/qmenu.o .obj/debug-shared/qmenubar.o .obj/debug-shared/qprogressbar.o .obj/debug-shared/qpushbutton.o .obj/debug-shared/qradiobutton.o .obj/debug-shared/qrubberband.o .obj/debug-shared/qscrollbar.o .obj/debug-shared/qsizegrip.o .obj/debug-shared/qslider.o .obj/debug-shared/qspinbox.o .obj/debug-shared/qsplashscreen.o .obj/debug-shared/qsplitter.o .obj/debug-shared/qstackedwidget.o .obj/debug-shared/qstatusbar.o .obj/debug-shared/qtabbar.o .obj/debug-shared/qtabwidget.o .obj/debug-shared/qtextedit.o .obj/debug-shared/qtextbrowser.o .obj/debug-shared/qtoolbar.o .obj/debug-shared/qtoolbarlayout.o .obj/debug-shared/qtoolbarextension.o .obj/debug-shared/qtoolbarseparator.o .obj/debug-shared/qtoolbox.o .obj/debug-shared/qtoolbutton.o .obj/debug-shared/qabstractscrollarea.o .obj/debug-shared/qwidgetresizehandler.o .obj/debug-shared/qfocusframe.o .obj/debug-shared/qscrollarea.o .obj/debug-shared/qwidgetanimator.o .obj/debug-shared/qwidgettextcontrol.o .obj/debug-shared/qwidgetlinecontrol.o .obj/debug-shared/qtoolbararealayout.o .obj/debug-shared/qplaintextedit.o .obj/debug-shared/qcolordialog.o .obj/debug-shared/qdialog.o .obj/debug-shared/qerrormessage.o .obj/debug-shared/qfiledialog.o .obj/debug-shared/qfontdialog.o .obj/debug-shared/qinputdialog.o .obj/debug-shared/qmessagebox.o .obj/debug-shared/qprogressdialog.o .obj/debug-shared/qsidebar.o .obj/debug-shared/qfilesystemmodel.o .obj/debug-shared/qfileinfogatherer.o .obj/debug-shared/qwizard.o .obj/debug-shared/qaccessiblewidget.o .obj/debug-shared/qabstractitemview.o .obj/debug-shared/qheaderview.o .obj/debug-shared/qlistview.o .obj/debug-shared/qbsptree.o .obj/debug-shared/qtableview.o .obj/debug-shared/qtreeview.o .obj/debug-shared/qabstractitemdelegate.o .obj/debug-shared/qitemdelegate.o .obj/debug-shared/qdirmodel.o .obj/debug-shared/qlistwidget.o .obj/debug-shared/qtablewidget.o .obj/debug-shared/qtreewidget.o .obj/debug-shared/qitemeditorfactory.o .obj/debug-shared/qtreewidgetitemiterator.o .obj/debug-shared/qdatawidgetmapper.o .obj/debug-shared/qfileiconprovider.o .obj/debug-shared/qcolumnview.o .obj/debug-shared/qcolumnviewgrip.o .obj/debug-shared/qstyleditemdelegate.o .obj/debug-shared/qgraphicsgridlayout.o .obj/debug-shared/qgraphicsitem.o .obj/debug-shared/qgraphicsitemanimation.o .obj/debug-shared/qgraphicslayout.o .obj/debug-shared/qgraphicslayout_p.o .obj/debug-shared/qgraphicslayoutitem.o .obj/debug-shared/qgraphicslinearlayout.o .obj/debug-shared/qgraphicsproxywidget.o .obj/debug-shared/qgraphicsscene.o .obj/debug-shared/qgraphicsscene_bsp.o .obj/debug-shared/qgraphicsscenebsptreeindex.o .obj/debug-shared/qgraphicssceneevent.o .obj/debug-shared/qgraphicssceneindex.o .obj/debug-shared/qgraphicsscenelinearindex.o .obj/debug-shared/qgraphicstransform.o .obj/debug-shared/qgraphicsview.o .obj/debug-shared/qgraphicswidget.o .obj/debug-shared/qgraphicswidget_p.o .obj/debug-shared/qgridlayoutengine.o .obj/debug-shared/qsimplex_p.o .obj/debug-shared/qgraphicsanchorlayout_p.o .obj/debug-shared/qgraphicsanchorlayout.o .obj/debug-shared/qsystemtrayicon.o .obj/debug-shared/qcolormap.o .obj/debug-shared/qcompleter.o .obj/debug-shared/qscroller.o .obj/debug-shared/qscrollerproperties.o .obj/debug-shared/qflickgesture.o .obj/debug-shared/qundogroup.o .obj/debug-shared/qundostack.o .obj/debug-shared/qundoview.o .obj/debug-shared/qsystemtrayicon_qpa.o .obj/debug-shared/qguistatemachine.o .obj/debug-shared/qkeyeventtransition.o .obj/debug-shared/qmouseeventtransition.o .obj/debug-shared/qbasickeyeventtransition.o .obj/debug-shared/qbasicmouseeventtransition.o .obj/debug-shared/qgraphicseffect.o .obj/debug-shared/qpixmapfilter.o .obj/debug-shared/qrc_qstyle.o .obj/debug-shared/qrc_qmessagebox.o .obj/debug-shared/moc_qboxlayout.o .obj/debug-shared/moc_qdesktopwidget.o .obj/debug-shared/moc_qformlayout.o .obj/debug-shared/moc_qgridlayout.o .obj/debug-shared/moc_qlayout.o .obj/debug-shared/moc_qshortcut.o .obj/debug-shared/moc_qsizepolicy.o .obj/debug-shared/moc_qstackedlayout.o .obj/debug-shared/moc_qdesktopwidget_qpa_p.o .obj/debug-shared/moc_qwidgetwindow_qpa_p.o .obj/debug-shared/moc_qstyle.o .obj/debug-shared/moc_qstyleanimation_p.o .obj/debug-shared/moc_qstyleplugin.o .obj/debug-shared/moc_qproxystyle.o .obj/debug-shared/moc_qmacstyle_mac_p.o .obj/debug-shared/moc_qmacstyle_mac_p_p.o .obj/debug-shared/moc_qwindowsstyle_p.o .obj/debug-shared/moc_qgtkstyle_p.o .obj/debug-shared/moc_qgtkstyle_p_p.o .obj/debug-shared/moc_qfusionstyle_p.o .obj/debug-shared/moc_qbuttongroup.o .obj/debug-shared/moc_qabstractbutton.o .obj/debug-shared/moc_qabstractslider.o .obj/debug-shared/moc_qcalendartextnavigator_p.o .obj/debug-shared/moc_qcheckbox.o .obj/debug-shared/moc_qcombobox_p.o .obj/debug-shared/moc_qcommandlinkbutton.o .obj/debug-shared/moc_qdatetimeedit_p.o .obj/debug-shared/moc_qdial.o .obj/debug-shared/moc_qdockwidget_p.o .obj/debug-shared/moc_qframe.o .obj/debug-shared/moc_qlcdnumber.o .obj/debug-shared/moc_qmainwindow.o .obj/debug-shared/moc_qmainwindowlayout_p.o .obj/debug-shared/moc_qprogressbar.o .obj/debug-shared/moc_qradiobutton.o .obj/debug-shared/moc_qrubberband.o .obj/debug-shared/moc_qscrollbar.o .obj/debug-shared/moc_qslider.o .obj/debug-shared/moc_qspinbox.o .obj/debug-shared/moc_qsplashscreen.o .obj/debug-shared/moc_qsplitter.o .obj/debug-shared/moc_qstackedwidget.o .obj/debug-shared/moc_qstatusbar.o .obj/debug-shared/moc_qtabbar_p.o .obj/debug-shared/moc_qtoolbarlayout_p.o .obj/debug-shared/moc_qtoolbarextension_p.o .obj/debug-shared/moc_qtoolbarseparator_p.o .obj/debug-shared/moc_qwidgetresizehandler_p.o .obj/debug-shared/moc_qfocusframe.o .obj/debug-shared/moc_qscrollarea.o .obj/debug-shared/moc_qwidgetanimator_p.o .obj/debug-shared/moc_qwidgetlinecontrol_p.o .obj/debug-shared/moc_qerrormessage.o .obj/debug-shared/moc_qsidebar_p.o .obj/debug-shared/moc_qfileinfogatherer_p.o .obj/debug-shared/moc_qlistview.o .obj/debug-shared/moc_qabstractitemdelegate.o .obj/debug-shared/moc_qlistwidget_p.o .obj/debug-shared/moc_qtablewidget_p.o .obj/debug-shared/moc_qtreewidget_p.o .obj/debug-shared/moc_qitemeditorfactory_p.o .obj/debug-shared/moc_qcolumnviewgrip_p.o .obj/debug-shared/moc_qgraphicsitemanimation.o .obj/debug-shared/moc_qgraphicsscenelinearindex_p.o .obj/debug-shared/moc_qgraphicswidget.o .obj/debug-shared/moc_qgraphicsanchorlayout.o .obj/debug-shared/moc_qcompleter_p.o .obj/debug-shared/moc_qsystemtrayicon_p.o .obj/debug-shared/moc_qscroller.o .obj/debug-shared/moc_qscroller_p.o .obj/debug-shared/moc_qflickgesture_p.o .obj/debug-shared/moc_qundogroup.o .obj/debug-shared/moc_qundostack.o .obj/debug-shared/moc_qundostack_p.o .obj/debug-shared/moc_qundoview.o .obj/debug-shared/moc_qkeyeventtransition.o .obj/debug-shared/moc_qmouseeventtransition.o .obj/debug-shared/moc_qbasickeyeventtransition_p.o .obj/debug-shared/moc_qbasicmouseeventtransition_p.o .obj/debug-shared/moc_qgraphicseffect.o .obj/debug-shared/moc_qgraphicseffect_p.o .obj/debug-shared/moc_qpixmapfilter_p.o  -F/Users/jpnurmi/Projects/qt5/qtbase/lib -L/opt/local/lib -framework QtGui -framework QtCore -framework Carbon -framework Cocoa -lz -lgobject-2.0 -lglib-2.0 -lintl -framework OpenGL -framework AGL 
      Undefined symbols for architecture x86_64:
        "_XSetErrorHandler", referenced from:
            QGtkStylePrivate::initGtkWidgets() const in qgtkstyle_p.o
        "_XSetTransientForHint", referenced from:
            QGtkStylePrivate::setupGtkFileChooser(_GtkWidget*, QWidget*, QString const&, QString const&, QString*, QFlags<QFileDialog::Option>, bool, QHash<_GtkFileFilter*, QString>*) in qgtkstyle_p.o
      ld: symbol(s) not found for architecture x86_64
      clang: error: linker command failed with exit code 1 (use -v to see invocation)
      make[3]: *** [../../lib/QtWidgets.framework/QtWidgets_debug] Error 1
      

      First of all, GTK support shouldn't get automatically enabled on Mac even if the GTK development headers happen to be available. We can still support -gtkstyle, it just shouldn't get enabled by default. Secondly, the Xlib calls should be excluded on Mac to fix the linking error.

      Attachments

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

        Activity

          People

            Unassigned Unassigned
            jpnurmi J-P Nurmi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes