Qt 5 build on Mac fails...



  • Qt 5.4.1 bug installing on Mac Yosemite

    I might be missing something, I certainly hope so, but went to build from souce on a Mac OSX 10,10 (which worked fine) and then do a 'sudo make install' it only installs a few include files. No QtCore, QtGui, QtWidgets etc. in /usr/local/Qt-5.4.1/include

    What's going on? I would have expected them at /usr/local/Qt-5.4.1/include as various subdirectories, And this is what happens when I install on Linux. which works fine,

    So is the Mac 5.4.1 source build broken? I can only assume they never tested it.



  • Hi,

    10.10 is officially supported in !t 5.4.x so is tested.
    I built it on my machine and it works.

    Can you show the output of configure and make ??



  • On 10.10 with latest Xcode, I've used this on a few machines:

    export PATH=/usr/bin:/bin:/usr/sbin:/sbin
    ./configure -debug-and-release -nomake examples -sdk macosx10.9
    make
    sudo make install



  • Hi,

    we use a script to build Qt with more flags. We buid using C++11 -c++11.
    What is the output of xcodebuild -showsdks??

    Can you post the output of configure??



  • @mcosta said:

    We buid using C++11 -c++11

    This is the default for Qt5.4.1 anyway, so it doesn't change anything to add it.



  • There's no problem running configure or make. I build it in a local directory, and find all the subdirectories are built e.g.

    Keiths-MBP-2:qt-everywhere-enterprise-src-5.4.1 keith$ cd qtbase
    Keiths-MBP-2:qtbase keith$ ls
    INSTALL configure.bat header.LGPL-ONLY qmake
    Makefile dist header.LGPL21 qtbase.pro
    bin doc header.LGPL3 src
    config.status examples include sync.profile
    config.summary header.BSD lib tests
    config.tests header.FDL mkspecs tools
    configure header.LGPL plugins util

    and e.g in the lib directory I find what I'd expect:
    Keiths-MBP-2:qtbase keith$ ls lib
    QtConcurrent.framework QtWidgets.la
    QtConcurrent.la QtWidgets_debug.la
    QtConcurrent_debug.la QtXml.framework
    QtCore.framework QtXml.la
    QtCore.la QtXml_debug.la
    QtCore_debug.la README
    QtDBus.framework cmake
    QtDBus.la fonts
    QtDBus_debug.la libQt5Bootstrap.a
    QtGui.framework libQt5Bootstrap.la
    QtGui.la libQt5Bootstrap.prl
    QtGui_debug.la libQt5OpenGLExtensions.a
    QtNetwork.framework libQt5OpenGLExtensions.la
    QtNetwork.la libQt5OpenGLExtensions.prl
    QtNetwork_debug.la libQt5OpenGLExtensions_debug.a
    QtOpenGL.framework libQt5OpenGLExtensions_debug.la
    QtOpenGL.la libQt5OpenGLExtensions_debug.prl
    QtOpenGL_debug.la libQt5PlatformSupport.a
    QtPrintSupport.framework libQt5PlatformSupport.la
    QtPrintSupport.la libQt5PlatformSupport.prl
    QtPrintSupport_debug.la libQt5PlatformSupport_debug.a
    QtSql.framework libQt5PlatformSupport_debug.la
    QtSql.la libQt5PlatformSupport_debug.prl
    QtSql_debug.la libqtharfbuzzng.a
    QtTest.framework libqtharfbuzzng.prl
    QtTest.la libqtharfbuzzng_debug.a
    QtTest_debug.la libqtharfbuzzng_debug.prl
    QtWidgets.framework pkgconfig

    but when I do a 'sudo make install' it installs some files in /usr/local/Qt-5.4.1, but unlike linux, in the 'include' directory I just see:

    Keiths-MBP-2:Qt-5.4.1 keith$ ls include/
    QtOpenGLExtensions QtPlatformHeaders QtPlatformSupport QtUiTools

    and not all the others I's expect like QtCore, QtGui, QtWidgets etc.



  • Well as a workaround I added this to my .pro file:

    INCLUDEPATH += $(QTDIR)/lib/QtSvg.framework/headers
    INCLUDEPATH += $(QTDIR)/lib/QtCore.framework/headers
    INCLUDEPATH += $(QTDIR)/lib/QtGui.framework/headers
    INCLUDEPATH += $(QTDIR)/lib/QtOpenGL.framework/headers
    INCLUDEPATH += $(QTDIR)/lib/QtWidgets.framework/headers

    Why there is a different include path to that on Linux builds though I do not understand...



  • @KeithS said:

    enterprise

    Are you using the enterprise version?
    Sorry I'm not 100% sure the build procedure is exactly the same (but I think so).



  • Yes I use the enterprise version. I guess thing s might be differently implemented on the Mac, but this was not the case on Qt 4.x. It seems like once again, Qt have forced users to spend a a lot of time and effort going to a new version, just like Qt 3 to 4.

    I have been using Qt since 2.3.0 in 2001 and all I can say its been going downhill rapidly ever since Nokia bought it (and then sold it a Micro$hit) didn't like it...



  • Hi,

    sorry you still having issues to install Qt but honestly I think there's something special in you build machine (a lot of people use/build Qt without problems).
    BTW, you have an enterprise version so I suggest to contact directly the Official Support team (is included in enterprise solution)
    I hope they can help you to solve the issue better then us.

    Please let us know if and how they solve your problem



  • Well the Qt support folks claim that you don't need to include these files in a .pro at all. But if I try that, compilation fails with stuff like 'can't find <QApplication>

    ANyhow I have a workaround, which is fine.

    I also find qmake does not like QT += svg in Qt 5.4.1. It used to work in 4.8.6. Odd.


  • Lifetime Qt Champion

    Hi,

    From what you posted, it seems that you only built qtbase so you don't have all the modules built. If you need svg then you should first build that module.



  • No, I built the whole thing.... even the docs... and did a make install.

    I suspect the issue is that I did not include all the QT += <package> stuff in some of the headers. When I get around to it I'll change that and see if it fixes it. Basically in Qt 4.8.6 there was a /usr/local/Qt-4.8.6/include directory that contained all the appropriate subdirectories; in Qt 5.x they have changed this so the headers are now in /usr/local/Qt-5.4.1/lib/<framework>/headers.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.