#4362 Qt4 4.8.5 test package

Added_to_Fink
closed-fixed
5
2014-07-16
2013-11-02
No

This is my test package for Qt4 4.8.5. It builds on 10.7 and I tried to incorporate howarth's patches for 10.9 (from the old Qt4 4.7) where possible. Hopefully I got them all.

Notes:

  1. The package name is obviously temporary. I named it that for now to be clear that it is not ready to be released.
  2. I have only tested the -mac interface. I have not even looked at how I would go about making an -x11 variant (or if it's even possible).
  3. Because I'm not 100% certain that this package is a drop-in replacement for our qt4-base-mac, I have moved the install into %p/opt. This should make the old and new qt4-mac packages coexist and so packages can be transitioned to the new Qt4 at will.
    • One reason a full replacement might not work is that QtWebkit is now being included as part of the master Qt bundle and not as a separate package.
  4. I added symlinks in %p/opt/include and %p/opt/lib in the -dev pkg to the headers and frameworks to simplify other packages migrating.

I tested my package against Valknut-mac and pyqt4-mac-py27 and both packages built (and Valknut was functional).

Todo:

  1. Done Fully check build on 10.8 and 10.9
  2. Done using old qt4-base-mac Decide on a final package name. Maybe qt4.8-mac ?
  3. Not needed Does it need Conflicts/Replaces on qt4-base-mac and qtwebkit-mac ?
  4. Verify that DescUsage instructions about adding flags is accurate.
  5. Tested with littre, arora, valknut and all built/ran OK See if it works as a drop in replacement for qt4-base-mac. I'm not sure we will want to actually replace qt4-base-mac since there likely won't be a Qt4 4.8.*-x11 variant anytime soon.
  6. ...
4 Attachments

Related

Package Requests: #1013
Package Submissions: #4394

Discussion

1 2 3 4 > >> (Page 1 of 4)
  • I'll comment that the 4.8.4 iteration of this package WorkedForMe(™) when I built LyX using it.

     
  • Daniel Johnson
    Daniel Johnson
    2013-12-11

    Fails to build on 10.9.

    g++ -c -o makefile.o -arch x86_64 -pipe -DQMAKE_OPENSOURCE_EDITION -O2 -fconstant-cfstrings -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include/QtCore -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/global -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/xml -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/mkspecs/macx-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED generators/makefile.cpp
    clangclang: : error: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)

    clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)

     
  • Daniel Johnson
    Daniel Johnson
    2013-12-11

    Here's the whole build log:


    Common System Values

    FINK_PREFIX: /sw
    FINK_ARCH: x86_64

    System Determined Variables:

    DARWIN_VERSION: 13.0
    DARWIN_MAJOR_VERSION: 13
    DARWIN_MINOR_VERSION: 0
    MACOSX_DEPLOYMENT_TARGET: 10.9
    OSX_VERSION: 10.9
    OSX_MAJOR_VERSION: 10.9
    XCODE_VERSION: 5.0.2
    XCODE_PREFIX: /Applications/Xcode.app/Contents/Developer
    SDK_PATH: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
    SDK_VERSION : 10.9

    Determining system architecture... (Darwin:13.0.0:x86_64)
    'macosx' is supported
    System architecture: 'macosx'
    DWARF2 debug symbols disabled.
    Xarch support detected
    clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
    Symbol visibility control enabled.

    This is the Qt for Mac OS X Open Source Edition.

    You are licensed to use this software under the terms of
    the Lesser GNU General Public License (LGPL) versions 2.1.
    You are also licensed to use this software under the terms of
    the GNU General Public License (GPL) versions 3.

    You have already accepted the terms of the license.

    Creating qmake. Please wait...
    g++ -c -o project.o -arch x86_64 -pipe -DQMAKE_OPENSOURCE_EDITION -O2 -fconstant-cfstrings -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include/QtCore -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/global -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/xml -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/mkspecs/macx-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED project.cpp
    g++ -c -o property.o -arch x86_64 -pipe -DQMAKE_OPENSOURCE_EDITION -O2 -fconstant-cfstrings -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include/QtCore -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/global -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/xml -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/mkspecs/macx-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED property.cpp
    g++ -c -o main.o -arch x86_64 -pipe -DQMAKE_OPENSOURCE_EDITION -O2 -fconstant-cfstrings -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include/QtCore -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/global -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/xml -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/mkspecs/macx-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED main.cpp
    g++ -c -o makefile.o -arch x86_64 -pipe -DQMAKE_OPENSOURCE_EDITION -O2 -fconstant-cfstrings -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/include/QtCore -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/global -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/src/corelib/xml -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/sw/src/fink.build/qt4-mine-mac-4.8.5-2/qt-everywhere-opensource-src-4.8.5/mkspecs/macx-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED generators/makefile.cpp
    clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
    clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
    make: [property.o] Error 1
    make: clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
    Waiting for unfinished jobs....
    make: [project.o] Error 1
    clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
    make:
    [makefile.o] Error 1
    make: *** [main.o] Error 1

     
  • Sorry about the delay. Can you confirm that %b/qmake/Makefile has export MACOSX_DEPLOYMENT_TARGET = 10.5 near the top?

     
  • If it is set to 10.5, please try with the following perl pie added to PatchScript just before the corewlan stuff (one line):

    perl -pi -e "s|MACOSX_DEPLOYMENT_TARGET \= 10\.5|MACOSX_DEPLOYMENT_TARGET = $MACOSX_DEPLOYMENT_TARGET|g" configure
    
     
  • Daniel Johnson
    Daniel Johnson
    2014-01-30

    Ok, that patch fixed the previous error, but now I found another. It's a bit jumbled by the parallel build but this is where it happens:

    In file included from yarr/YarrPattern.cppIn file included from :28yarr/YarrInterpreter.cpp:28:
    In file included from :
    yarr/YarrPattern.hIn file included from :yarr/YarrInterpreter.h30::
    29In file included from :
    ./runtime/UString.hIn file included from :yarr/YarrPattern.h26::
    30In file included from :
    ./wtf/text/StringImpl.hIn file included from :./runtime/UString.h28::
    26In file included from :
    ./wtf/CrossThreadRefCounted.hIn file included from :./wtf/text/StringImpl.h35::
    28In file included from :
    wtf/PassRefPtr.hIn file included from :./wtf/CrossThreadRefCounted.h25::
    35:
    In file included from wtf/PassRefPtr.h:25:
    wtf/NullPtr.h:48:23wtf/NullPtr.h:: 48:23error: : functionserror: that functionsdiffer thatonly differin onlytheir inreturn theirtype
    return cannot be typeoverloaded

    cannot be overloaded
    extern std::nullptr_t nullptr;
    ^
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:87:24: note:
    expanded from macro 'nullptr'

    define nullptr _VSTD::__get_nullptr_t()

                       ^
    

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:85:58: note:
    previous definition is here
    extern std::nullptr_t nullptr;
    ^
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:87:24: note:
    expanded from macro 'nullptr'
    inline _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t __get_nullptr_t...
    ^

    define nullptr _VSTD::__get_nullptr_t()

                       ^
    

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/cstddef:85:58: note:
    previous definition is here
    inline _LIBCPP_ALWAYS_INLINE _LIBCPP_CONSTEXPR nullptr_t __get_nullptr_t...
    ^


    Looks like NullPtr.h is not recognizing that clang has nullptr and trying to refine it. The offending line is

    if has_feature(cxx_nullptr) || (GCC_VERSION_AT_LEAST(4, 6, 0) && defined(GXX_EXPERIMENTAL_CXX0X__)) || (defined(_MSC_VER) && _MSC_VER >= 1600 && !COMPILER(INTEL))

    Maybe GXX_EXPERIMENTAL_CXX0X needs to be defined? Or defined(clang) has to be added?

     
  • In the failed build, can you add #include <cstddef> to wtf/NullPtr.h just after the #define HAVE_NULLPTR 1 (line 41) and try just running make inside the src/3rdparty/webkit/Source/JavaScriptCore directory. If that still fails, might also have to add defined(_LIBCPP_VERSION) to the #if list on line 38 of wtf/NullPtr.h.

    Source: https://bugs.webkit.org/show_bug.cgi?id=64429 http://mail.kde.org/pipermail/kde-freebsd/2013-September/015990.html

    ps. if you put 4 tildes ~ on new lines before and after a block of text, the tracker formats it as 'code'

     
  • Daniel Johnson
    Daniel Johnson
    2014-01-31

    Yeah, I realized too late I screwed up the formatting.

    Adding both #include <cstddef> and || defined(_LIBCPP_VERSION) works.

     
  • Daniel Johnson
    Daniel Johnson
    2014-01-31

    Oh, and when you get a chance, can you patch the unsupported Mac OS version warnings? It spews a ton of stuff that makes it hard to see real errors. :)

    ../../../../../include/QtCore/../../src/corelib/global/qglobal.h:331:6: warning:
    "This version of Mac OS X is unsupported" [-W#warnings]
    # warning "This version of Mac OS X is unsupported"

     
1 2 3 4 > >> (Page 1 of 4)