问题
The error
When I run pip install PySide
– whether in a virtual environment or not – build fails with the following error:
... [lots of build info, including a few warnings but no errors, for shiboken]
Linking CXX executable shiboken
ld: framework not found QtCore
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Seeing as I have QtCore installed and the framework present (see below), I'm not sure why that should be.
Setup info
Software versions
- OS X 10.8.2
- Qt 4.8.4 from the developer distributed binaries
- Python 3.3 installed and working normally
- XCode 4.6
- Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn) Target: x86_64-apple-darwin12.2.1
- Virtual environment generating using
pyvenv
(with and without--no-site-packages
)
Other configurations attempted
- Python 2.7 installed and working normally
- Virtual environment generated using
mkvirtualenv
(with and without--no-site-packages
)- virtualenv 1.8.4
- mkvirtualenv 3.6
System configuration
I've confirmed that QtCore is in fact installed correctly: ls /Library/Frameworks
shows a number of Frameworks, including QtCore.Framework
.
My path currently includes both /Library/Frameworks/QtCore.framework
and /Library/Frameworks/QtCore.Framework/Versions/4
– the former of which has a symbolic link to the component in the latter location. I've even tried it with /Library/Frameworks
, though for obvious reasons I didn't expect that to help and it did not.
Other notes
I've tried the same thing with easy_install
and by doing a pull from the Git repository and building manually using setup.py
. As one would expect, they all return the same results.
Things I've already read
- PyPi Installation walkthrough
- Link error: QtCore.framework/Versions/4/QtCore for architecture x86_64 (Stack Overflow) – but it seems the linker is already asking for the framework, based on the error message I'm receiving.
- Mac OS X: trying to link (ld) against a framework (Stack Overflow) – general info on linking against Frameworks; again, I seem to have this covered.
- OSX deployment target confusion for 2.8.10 (CMake Mailing list) – looks like a very similar error, but I don't have direct control of the
-isysroot
flag usingpip
(oreasy_install
or evenpython setup.py
) for one and for another, installation structure seems to have changed substantially between OS X 10.6 and 10.8. For example,/Developer
no longer has theSDKs
directory in it at all. - CMake bug report 0013765 – this one looks exactly the same, but appears to have been patched, so I'm not sure why it would still be causing me a problem.
Preferences
I'm not using a package manager like Homebrew or MacPorts at this time, and I'd prefer not to, either, as I need to get as close as possible to a platform-agnostic installation procedure for this (we're looking at doing cross-platform development; I'll ultimately be targeting Windows applications primarily, but need to see if it's workable on my Mac development machine outside a VM).
It needs to be able to work with a Python 3-style virtual environment (pyvenv
) setup, as that's our preferred means of isolating our particular requirements.
来源:https://stackoverflow.com/questions/15159722/pip-install-pyside-fails-qtcore-framework-check-os-x