Gentoo Archives: gentoo-user

From: David Relson <relson@×××××××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Getting python-2.3 back
Date: Sun, 28 Sep 2008 12:38:06
Message-Id: 20080928083803.207fffae@osage.osagesoftware.com
In Reply to: Re: [gentoo-user] Getting python-2.3 back by Kirk Lowery
1 On Sat, 27 Sep 2008 12:58:40 -0400
2 Kirk Lowery wrote:
3
4 > On Fri, Sep 26, 2008 at 2:47 AM, Neil Bothwick <neil@××××××××××.uk>
5 > wrote:
6 > > On Thu, 25 Sep 2008 17:59:35 -0400, Kirk Lowery wrote:
7 > >
8 > >> During upgrading today, I inadvertently allowed 2.3 to be deleted.
9 > >> I looked in portage, but it is apparently gone.
10 > >
11 > > Nothing is ever truly gone from portage
12 > >
13 > > http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/python/?hideattic=0
14 > >
15 > > goes back as far as python-1/5/2
16 >
17 > Thanks for the answers. I thought I'd report my experience here for
18 > the knowledgebase:
19 >
20 > I went back and downloaded not only the latest 2.3.6 ebuild into my
21 > local overlay, and all the attendant files (including important
22 > patches) in the "files" directory. In order to be able to emerge the
23 > ebuild file, I had to recreate the digest and manifest files. Don't
24 > know why the checksums were off, but they were. The solution was
25 > simple:
26 >
27 > # ebuild python-2.3.6-r6.ebuild digest
28 >
29 > took care of it. When I tried to restart my legacy software I got a
30 > python error: "ImportError: No module named thread". Sure enough, the
31 > equery use feature told me "-threads". So I overrode that in
32 > package.use. Nope, no change. Looking at the compile log, I saw this:
33 >
34 > ./configure --prefix=/usr --host=x86_64-pc-linux-gnu
35 > --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
36 > --sysconfdir=/etc --localstatedir=/var/lib --with-fpectl
37 > --enable-shared --enable-ipv6 --infodir=${prefix}/share/info
38 > --mandir=${prefix}/share/man --with-libc= --enable-unicode=ucs4
39 > --with-threads --without-threads --with-threads --libdir=/usr/lib64
40 > --build=x86_64-pc-linux-gnu
41 >
42 > Configure has both --with- and --without-threads!!??
43 >
44 > Nothing I did seemed to make a difference. So I traced where in the
45 > ebuild this might be coming from:
46 >
47 > use threads \
48 > && myconf="${myconf} --with-threads" \
49 > && myconf="${myconf} --without-threads"
50 >
51 > I still don't know why (and would appreciate any knowledgeable person
52 > commenting here), but I simply commented out the third line above,
53 > re-emerged, and viola! my legacy software is up and running.
54 >
55 > Kirk
56
57 An interesting defect to find, and a good job of detective work!
58
59 Out of curiosity, I looked at the python ebuilds on my workstation.
60
61 Up through python-2.4.4-r6, they have:
62
63 use nothreads \
64 && myconf="${myconf} --without-threads" \
65 || myconf="${myconf} --with-threads"
66
67 From python-2.4.4-r14 onwards they have:
68
69 use threads \
70 && myconf="${myconf} --with-threads" \
71 || myconf="${myconf} --without-threads"
72
73 Evidently the 2.3.6-r6 ebuild has the newer "use threads" test, but
74 with the minor (but fatal) operator flaw you found -- "&&" which
75 should be "||".
76
77 Hope this is of interest,
78
79 David

Replies

Subject Author
Re: [gentoo-user] Getting python-2.3 back Kirk Lowery <empirical.humanist@×××××.com>