Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Build failure: 4.8.5 on Mac with phonon

Build failure: 4.8.5 on Mac with phonon

Scheduled Pinned Locked Moved Installation and Deployment
26 Posts 3 Posters 13.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bovilexic
    wrote on last edited by
    #11

    Yes...Xcode 5.0.2...typo...

    I got rid of the link error by changing the #defines for PHONON_TEMPLATE_CLASS_MEMBER_EXPORT and PHONON_TEMPLATE_CLASS_EXPORT, as described in my previous post.

    It's rather odd that you can compile successfully, and I cannot. Looking at the command line, I see that 10.5 is the minimum version for me, as well.

    Are you using Mavericks?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #12

      Yes, I do.

      So you successfully compile the 32bit version with this correction but not the 64bit ?

      I'll try again to build both.

      So just to be sure we are working on the same thing, can you:

      • post the complete command line you are using (even if it's the same as your original post
      • Just verify that you have modified anything else in the sources and build dir to make things go ahead

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #13

        Can you also check what mkspec you are getting for both builds ?

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • B Offline
          B Offline
          bovilexic
          wrote on last edited by
          #14

          I have not yet tried to build a 32-bit version with my "fix" in it. I'll send one off, and let you know when it completes (or fails). With my fix in, the 64-bit build successfully completes.

          Do you want to see the command line that's used to compile the phonon lib(s), or link it? Or do you mean what I'm using to run configure?

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #15

            Well… All might be useful

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • B Offline
              B Offline
              bovilexic
              wrote on last edited by
              #16

              OK, so I tried building just the 32-bit version:

              ./configure -arch x86 -no-webkit

              The compilation fails, whether or not my "fix" to src/3rdparty/phonon/phonon/objectdescriptionmodel.h is in place. This is what I expected, as the error in the 32-bit case seems due to a malformed project or makefile (see the original post for the command line).

              The mkspecs used is ./mkspecs/mac-g++

              For 64-bit builds, I use:

              ./configure -no-webkit

              The compilation command for objectdescriptionmodel.cpp is this:

              g++ -c -pipe -Xarch_x86_64 -mmacosx-version-min=10.5 -fconstant-cfstrings -g -arch x86_64 -Xarch_x86
              _64 -mmacosx-version-min=10.5 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -fPIC -DQT_SH
              ARED -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_QSTRINGBU
              ILDER -DMAKE_PHONON_LIB -DQT_NO_DBUS -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_H
              AVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -DQT_HAVE_SSSE3 -DQT_HAVE_SSE4_1 -DQT_HAVE_SS
              E4_2 -DQT_HAVE_AVX -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/macx-g++ -I. -I../../in
              clude/QtCore -I../../include/QtGui -I../../include -I../../include/phonon -I.rcc/debug-shared -I.moc
              /debug-shared -F/Users/pjs/Applications/qt/lib -o .obj/debug-shared/objectdescriptionmodel.o ../3rdp
              arty/phonon/phonon/objectdescriptionmodel.cpp

              And the (failing) link line is this:

              g++ -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -Xarch_x86_64
              -mmacosx-version-min=10.5 -o capabilities.app/Contents/MacOS/capabilities .obj/debug-shared/window.o
              .obj/debug-shared/main.o .obj/debug-shared/moc_window.o -F/Users/pjs/Applications/qt/lib -L/Users
              /pjs/Applications/qt/lib -framework phonon -L/Users/pjs/Applications/qt/lib -F/Users/pjs/Application
              s/qt/lib -framework QtGui -framework QtCore

              One potentially relevant detail, if I didn't already mention: the qt source is from git, and is fresh as of this morning (so its really 4.8.6...)

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #17

                It's a known bug and it's being worked on "here":https://bugreports.qt-project.org/browse/QTBUG-32832

                In short, so you can get going:

                Reverse your header modifications

                edit src/plugins/phonon/qt7/qt7.pro

                Change the line containing the Xarch to -framework QuickTime

                It will build
                WARNING: this is only a workaround

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  bovilexic
                  wrote on last edited by
                  #18

                  Thanks!

                  OK - your recommended modification allows the 32-bit build to get past the 32-bit build-specific error I was seeing earlier:

                  clang: error: invalid Xarch argument: ‘-Xarch_i386 -framework’, options requiring arguments are unsupported
                  clang: error: invalid Xarch argument: ‘-Xarch_i386 QuickTime’, cannot change driver behavior inside Xarch argument

                  This allows the build to proceed to the phonon link step, where it fails in exactly the same fashion as the 64-bit build (problem with exporting symbols for templated class). Fortunately my previously posted "fix" gets around this problem. I'll investigate a bit more, but it still puzzles me why you can get a clean build without experiencing this same link error...hmm...

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #19

                    Really strange… What does g++ --version print ?

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      bovilexic
                      wrote on last edited by
                      #20

                      Heh...I was going to ask you the same thing...

                      which g++
                      /usr/bin/g++

                      g++ --version
                      Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
                      Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
                      Target: x86_64-apple-darwin13.0.0
                      Thread model: posix

                      I'm wondering if this is related to which version of the Command Line Tools is installed. The /usr/bin/g++ appears to the be same version as found in /Applications/Xcode.app/Contents/Developer/usr/bin/g++ (gives the exact same version info). But there still could be issues with what's in /usr/include, /usr/bin, etc...

                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #21

                        Same result as you…

                        I have the command line tools 5.0.2 5A3005

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • V Offline
                          V Offline
                          vietdung2910
                          wrote on last edited by
                          #22

                          Hi, I encounter the same problem when building Qt 4.8.6 (latest version from qt.gitgourious) on my Mountain Lion
                          My configure is: "/configure -release -framework -arch x86_64"
                          My Clang version is:
                          "Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
                          Target: x86_64-apple-darwin12.5.0
                          Thread model: posix"
                          Please let me know if there is any way to fix this problem. Thank you

                          1 Reply Last reply
                          0
                          • B Offline
                            B Offline
                            bovilexic
                            wrote on last edited by
                            #23

                            There are several options:

                            1. When you configure the build, leave out anything phonon-related
                            2. Look at the first page of this thread, at my second post on December 6 -- you can see an edit that worked for me.
                            3. SGaist's post at the top of this page seems to have worked for him (but it did not work for me).
                            1 Reply Last reply
                            0
                            • V Offline
                              V Offline
                              vietdung2910
                              wrote on last edited by
                              #24

                              Thank you bovilexic.

                              Just an update, for the latest qt version in git, the static build has no problems in OSX 10.8.

                              I haven't tried the shared build.

                              1 Reply Last reply
                              0
                              • B Offline
                                B Offline
                                bovilexic
                                wrote on last edited by
                                #25

                                Interesting...the latest 4.8.6 on git does not build properly for either 32 or 64 bits, under OS X 10.9.2 and Xcode 5.0.2. A recent purported fix for the compilation error in phonon (see my first post) can be found at:

                                https://codereview.qt-project.org/#change,44153
                                

                                While this does remove the flaw I reported earlier, the Makefile created from the .pro file for phonon does not contain "-framework Quicktime", and so results in numerous link errors. Adding the missing item to the Makefile.Release does result in a successful link of phonon. The failed fix is supposed to be for Qt 5.x, so I expect that it will also not compile properly for 32 bit builds.

                                The other build failure I reported in my post of December 6 is still present, but applying the "fix" I described results (again) in a successful compilation.

                                Am I going to have to get involved in the bug-fixing/testing process, in order for working fixes to be applied?...this is getting rather frustrating...

                                1 Reply Last reply
                                0
                                • V Offline
                                  V Offline
                                  vietdung2910
                                  wrote on last edited by
                                  #26

                                  Update: I can build the lastest Qt4/phonon successfully with option shared and lib_bundle, that help building Qt as frameworks.

                                  1 Reply Last reply
                                  0

                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • Users
                                  • Groups
                                  • Search
                                  • Get Qt Extensions
                                  • Unsolved