Install Qt 4.8.7 on a Mac running OS X 10.11 (El Capitan)
-
These are the errors I get:
painting/qpaintengine_mac.cpp:345:19: error: use of undeclared identifier 'CMGetProfileByAVID'
CMError err = CMGetProfileByAVID((CMDisplayIDType)displayID, &displayProfile);
^
painting/qpaintengine_mac.cpp:348:9: error: use of undeclared identifier 'CMCloseProfile'
CMCloseProfile(displayProfile);
^ -
It really boils down to:
./configure make -jX where X is twice the number of core you have available sudo make install -
Ok, so it's an API that's not available anymore on El Capitan. You can use the patch homebrew is using to compile Qt.
So keeps all cores busy, if you need them for something else, just use less cores than what you have available.
-
I'm encountering the same problem as laseranichris, then I tried the patch. But then I got another error:
...
Undefined symbols for architecture x86_64:
"Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0>::qt_metacast(char const*)", referenced from:
vtable for Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0> in window.o
"Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0>::metaObject() const", referenced from:
vtable for Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0> in window.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
...How can I fix this? Thank you very much!
-
Did you restart your build from scratch ?
-
I'm encountering the same problem as laseranichris, then I tried the patch. But then I got another error:
...
Undefined symbols for architecture x86_64:
"Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0>::qt_metacast(char const*)", referenced from:
vtable for Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0> in window.o
"Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0>::metaObject() const", referenced from:
vtable for Phonon::ObjectDescriptionModel<(Phonon::ObjectDescriptionType)0> in window.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
...How can I fix this? Thank you very much!
just configure with "-nomake examples"
-
It really boils down to:
./configure make -jX where X is twice the number of core you have available sudo make install@SGaist
Hi,
I have tried to compile Qt 4.8.7 on Mac OS X 10.11(El Capitan)
After make -j1
I got
3 warnings and 2 errors generated.
make[2]: *** [.obj/debug-shared/qpaintengine_mac.o] Error 1
make[1]: *** [debug-all] Error 2
make: *** [sub-gui-make_default-ordered] Error 2 -
Did you apply the patch I linked to ?
-
@SGaist
Thanks so much for your reply.
I didn't try the patch. I am new to this, and could you please tell me more detail about how to apply it?@FresaYuan
Hi
I think you just need to change the
src/gui/painting/qpaintengine_mac.cpp
file
All in red are deleted and this line is inserted:
CGColorSpaceRef colorSpace = CGDisplayCopyColorSpace(displayID);in the function
QCoreGraphicsPaintEngine::macDisplayColorSpaceThere is a tool to apply patches but in this case
"1 file changed, 1 insertion(+), 7 deletions(-)"
Seems ok to apply by hand. -
@FresaYuan
Hi
I think you just need to change the
src/gui/painting/qpaintengine_mac.cpp
file
All in red are deleted and this line is inserted:
CGColorSpaceRef colorSpace = CGDisplayCopyColorSpace(displayID);in the function
QCoreGraphicsPaintEngine::macDisplayColorSpaceThere is a tool to apply patches but in this case
"1 file changed, 1 insertion(+), 7 deletions(-)"
Seems ok to apply by hand. -
@FresaYuan
Hi
I think you just need to change the
src/gui/painting/qpaintengine_mac.cpp
file
All in red are deleted and this line is inserted:
CGColorSpaceRef colorSpace = CGDisplayCopyColorSpace(displayID);in the function
QCoreGraphicsPaintEngine::macDisplayColorSpaceThere is a tool to apply patches but in this case
"1 file changed, 1 insertion(+), 7 deletions(-)"
Seems ok to apply by hand.@mrjj
Thanks a lot. After change the file, when input "sudo make -j1 install"
It runs almost half an hour. And end up with errors like this
make[3]: *** No rule to make target../../WebCore/debug/libwebcored.a', needed by../../../../../../lib/QtWebKit.framework/QtWebKit_debug'. Stop.
make[2]: *** [debug-install] Error 2
make[1]: *** [sub-WebKit-qt-QtWebKit-pro-install_subtargets-ordered] Error 2
make: *** [sub-webkit-install_subtargets-ordered] Error 2 -
If you don't need webkit then disable its build. Also don't build as root.
-
brew install qt4
they have done all dirty works for you