Build failure: 4.8.5 on Mac with phonon
-
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.cppAnd 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 QtCoreOne 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...)
-
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 -
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 argumentThis 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...
-
Really strange… What does g++ --version print ?
-
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: posixI'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...
-
Same result as you…
I have the command line tools 5.0.2 5A3005
-
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 -
There are several options:
- When you configure the build, leave out anything phonon-related
- Look at the first page of this thread, at my second post on December 6 -- you can see an edit that worked for me.
- SGaist's post at the top of this page seems to have worked for him (but it did not work for me).
-
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.
-
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...
-
Update: I can build the lastest Qt4/phonon successfully with option shared and lib_bundle, that help building Qt as frameworks.