Problem pyton PIL
Ned Deily
nad at acm.org
Tue Apr 15 19:00:56 PDT 2014
On Apr 15, 2014, at 12:36 , Ryan Schmidt <ryandesign at macports.org> wrote:
> On Apr 15, 2014, at 14:00, Ned Deily wrote:
> > Ryan Schmidt wrote:
> > > Where did /Library/Frameworks/Python.framework come from? It?s not
> > > provided
> > > by Apple, nor any MacPorts port, and will likely interfere with things
> > > you
> > > want to install using MacPorts. I recommend you remove it
> > /Library/Frameworks/Python.framework is the installation location for
> > the Pythons provided by python.org binary installers. They will happily
> > co-exist with MacPorts- and Apple-provided Pythons.
> Anything installed in /Library/Frameworks can potentially cause problems for
> MacPorts-installed software, as it might inadvertently find dependencies in
> /Library/Frameworks instead of the MacPorts-provided version thereof. This is
> similar to the /usr/local problem.
I don't think that is very likely to be a problem with Pythons. And, if
one pops up, it will likely be pointing out a port that is already
broken. Python framework installations are somewhat odd ducks (and were
implemented with some unfortunate choices). One might think that there
is a risk that a port trying to link with a Python shared framework
library might get the wrong library. But because there is a
/System/Library/Python.framework (Apple-supplied) and the header and the
default link search order include both /Library/Frameworks and
/System/Library/Frameworks, ports need to be careful to use the MacPorts
locations regardless of whether a /Library/Frameworks/Python.framework
exists, e.g. otherwise they'll always incorrectly build/link against
either the python.org or the Apple-supplied one. Secondly, using
-framework Python as arguments to compile or link is almost always
problematic because Python "abuses" the use of framework versions.
Currently, all Python versions (2.x and 3.x) are installed to the same
framework which, AFAICT, makes it nearly impossible to use -framework
Python if you want to build or link against a specific Python version,
which you almost always want to do. Instead, build scripts need to use
pythonx.y-configure commands to find the proper --includes, --libs, etc,
which also work in a platform-independent manner. Upstream packages
that don't do so are broken and probably do not link correctly without
portfile patching already.
--
Ned Deily
nad at acm.org -- []
--
Ned Deily,
nad at acm.org
More information about the macports-users
mailing list