[8917] in athena10
[Debathena] #1126: /usr/athena/bin/python breaks with /usr/athena
daemon@ATHENA.MIT.EDU (Debathena Trac)
Wed Apr 4 15:03:18 2012
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
From: "Debathena Trac" <debathena@MIT.EDU>
Cc: debathena@MIT.EDU
To: andersk@MIT.EDU
Date: Wed, 04 Apr 2012 19:03:14 -0000
Reply-To:
Message-ID: <043.0443c2a2fea9bf557031071274fe9f7f@mit.edu>
Content-Transfer-Encoding: 8bit
#1126: /usr/athena/bin/python breaks with /usr/athena symlink
------------------------+--------------------------------
Reporter: andersk | Owner:
Type: defect | Status: new
Priority: normal | Milestone: The Distant Future
Component: -- | Keywords:
Upstream bug: |
------------------------+--------------------------------
{{{
debathena / python / jdreed 2011-09-21 16:42:37 (This zephyr does not
necessarily reflect the views of IS&T, MIT, its)
WTF?
$ python -V
Python 2.7.1+
$ python -c 'import platform;print platform.python_version()'
2.7.1+
$ /usr/athena/bin/python -V
Python 2.7.1+
$ /usr/athena/bin/python -c 'import platform;print
platform.python_version()'
Traceback (most recent call last):
File "/usr/athena/lib/python2.7/site.py", line 562, in <module>
main()
File "/usr/athena/lib/python2.7/site.py", line 544, in main
known_paths = addusersitepackages(known_paths)
File "/usr/athena/lib/python2.7/site.py", line 271, in
addusersitepackages
user_site = getusersitepackages()
File "/usr/athena/lib/python2.7/site.py", line 246, in
getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/athena/lib/python2.7/site.py", line 236, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/athena/lib/python2.7/sysconfig.py", line 558, in
get_config_var
return get_config_vars().get(name)
File "/usr/athena/lib/python2.7/sysconfig.py", line 457, in
get_config_vars
_init_posix(_CONFIG_VARS)
File "/usr/athena/lib/python2.7/sysconfig.py", line 310, in
_init_posix
raise IOError(msg)
IOError: invalid Python installation: unable to open
/usr/athena/local/lib/python2.7/config/Makefile (No such file or
directory)
debathena / python / jdreed 2011-09-21 16:43:24 (This zephyr does not
necessarily reflect the views of IS&T, MIT, its)
(this is on, like, natty)
debathena / python / andersk 2011-09-21 16:45:04 (Anders Kaseorg)
Haha, /usr/athena.
debathena / python / jdreed 2011-09-21 16:44:21 (This zephyr does not
necessarily reflect the views of IS&T, MIT, its)
so not the point
debathena / python / andersk 2011-09-21 16:49:02 (Anders Kaseorg)
A workaround is python -S.
debathena / python / jdreed 2011-09-21 16:52:59 (This zephyr does not
necessarily reflect the views of IS&T, MIT, its)
Wait, what about /usr/athena is causing it to lose? If I symlink
python into /usr/local/bin or even /opt/bin it's fine
debathena / python / andersk 2011-09-21 16:56:18 (Anders Kaseorg)
python being symlinked is different from its containing directory
being symlinked.
debathena / python / andersk 2011-09-21 17:01:31 (Anders Kaseorg)
From my sysconfig.py (on oneiric, which has the same problem):
def _get_makefile_filename():
if _PYTHON_BUILD:
return os.path.join(_PROJECT_BASE, "Makefile")
return
os.path.join(get_path('platstdlib').replace("/usr/local","/usr",1),
"config" + (sys.pydebug and "_d" or ""), "Makefile")
and /usr/athena/local doesn’t match that.
debathena / python / jdreed 2011-09-21 17:02:17 (This zephyr does not
necessarily reflect the views of IS&T, MIT, its)
I don't, then, understand why this still works:
jdreed@infinite-loop:~$ sudo ln -nsf /usr /opt/usr
[sudo] password for jdreed:
jdreed@infinite-loop:~$ /opt/usr/bin/python -c 'import platform;print
platform.python_version()'
2.7.1+
debathena / python / andersk 2011-09-21 17:03:51 (Anders Kaseorg)
Because /opt/usr/local does match that.
debathena / python / jdreed 2011-09-21 17:03:54 (This zephyr does not
necessarily reflect the views of IS&T, MIT, its)
Hrm. We should probably still care somehow, since we just broke our
compatibility layer without telling anyone
debathena / python / andersk 2011-09-21 17:05:11 (Anders Kaseorg)
$ sudo ln -nsf /usr /opt/usr
$ /opt/usr/bin/python -c ''
$ sudo ln -nsf /usr /opt/rsu
$ /opt/rsu/bin/python -c ''
…
IOError: invalid Python installation: unable to open
/opt/rsu/local/lib/python2.7/config/Makefile (No such file or directory)
debathena / python / andersk 2011-09-21 17:08:55 (Anders Kaseorg)
Well, uh, you can read debian/patches/distutils-install-layout.diff,
cry, and file a hilarious Debian bug?
debathena / python / andersk 2011-09-21 17:13:06 (Anders Kaseorg)
It looks like it would work if /usr/athena/bin was the symlink
instead of /usr/athena?
}}}
--
Ticket URL: <http://athena10.mit.edu/trac/ticket/1126>
Debathena <http://debathena.mit.edu>
MIT Debathena Project