Gentoo Archives: gentoo-alt

From: Pavel Volkovitskiy <olfway@×××××.com>
To: gentoo-alt@l.g.o
Subject: Re: [gentoo-alt] On Python and OSX
Date: Mon, 14 Sep 2009 23:01:52
Message-Id: 97b536970909141601q1bbe8daet8c6e443e07d79e94@mail.gmail.com
In Reply to: [gentoo-alt] On Python and OSX by Fabian Groffen
1 On Mon, Sep 14, 2009 at 16:52, Fabian Groffen <grobian@g.o> wrote:
2
3 > This message is mainly for Mac OS X users, if you're not one of them,
4 > you can probably just skim or even ignore this message.
5 >
6 > Over the last few weeks I've been messing/fighting with Python for the
7 > "aqua" USE-flag that I added to it. Enabling this flag causes a
8 > framework build of Python to be made. This actually results in a
9 > Mach/Next-style installation hierarchy, referred to as a Framework. On
10 > OSX these are used and typically found in /Library/Frameworks.
11 >
12 > The changes I've made are as follows. First, because we need the
13 > framework and since we don't want many more frameworks, I decided to
14 > install the framework in a non-standard location, which better suits our
15 > UNIX-layout: $EPREFIX/usr/lib/Python.framework. This in contrast to
16 > $EPREFIX/Library/Frameworks/Python.framework. Using the former part, we
17 > hide the framework thing a bit, by partially swiping it under the carpet.
18 >
19
20 First of all, thanks for you hard work on that!
21
22 next on the issue i hit
23
24 i tried to emerge subversion with python bindings and it now builds(*)
25
26 but if you tries to actually use it you will get python fatal error:
27 $ hg convert 'svn://overlays.gentoo.org/proj/alt/trunk/prefix-overlay'
28 /opt/gentoo-portage-mirror/
29 Fatal Python error: Interpreter not initialized (version mismatch?)
30 Abort trap
31
32 it seems that something built against different pythons
33
34 otool -L /opt/gentoo/usr/lib/python2.6/site-packages/libsvn/_ra.bundle:
35 <skip>
36 /System/Library/Frameworks/Python.framework/Versions/2.6/Python
37 (compatibility version 2.6.0, current version 2.6.1)
38
39 ^^^ what's wrong
40
41 so i tried to find out why it linked to system's python instead of our one
42
43 during subversion's python bindings build right args passed to linker
44 "-F/opt/gentoo/usr/lib -framework Python" but ld skips that and uses system
45 one
46
47 from man ld:
48 -framework name[,suffix]
49 This option tells the linker to search for
50 ‘name.framework/name’ the framework search path.
51
52 so it looks for "/opt/gentoo/usr/lib/Python.framework/Python" but there is
53 no such file
54
55 $ file /System/Library/Frameworks/Python.framework/Python
56 /System/Library/Frameworks/Python.framework/Python: symbolic link to
57 `Versions/Current/Python'
58
59 i added /opt/gentoo/usr/lib/Python.framework/Python: symbolic link to
60 `Versions/2.6/Python'
61
62 and rebuild subversion and mercurial
63
64 now it builds against our python, what's good
65
66 but still doesn't work
67
68 i'm trying to find out other issues
69
70 (*) subversion ebuild missed "\" in
71 emake -j1 DESTDIR="${D}" \
72 swig_pydir="${EPREFIX}$(python_get_sitedir)/libsvn"
73 swig_pydir_extra="${EPREFIX}$(python_get_sitedir)/svn"
74 install-swig-py \
75 || die "Installation of Subversion SWIG Python
76 bindings failed"
77
78 (or maybe that's on "swig-py" can't check right now)
79
80 --
81 Pavel

Replies

Subject Author
Re: [gentoo-alt] On Python and OSX Pavel Volkovitskiy <olfway@×××××.com>
Re: [gentoo-alt] On Python and OSX Fabian Groffen <grobian@g.o>